Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 구문트리
- 스레드전용리소스
- 벡터
- 재배치
- c++
- 다이나믹 프로그래밍
- rust 스터디
- 스레드전용저장소
- linear algebra
- 심벌 해석
- 행렬
- 다익스트라
- 선형대수학
- 정적링크
- 적재도구loader
- 알고리즘
- 동적링크
- 코드포스
- 백준
- vector
- column space
- CS정리
- 컴퓨터밑바닥의비밀
- 대상파일
- 링커
- unity
- Rust
- 컴파일러
- eigenvalue
- matrix
Archives
- Today
- Total
개발_기록용
[Codeforce 1003C] C. Intense Heat 본문
728x90
https://codeforces.com/problemset/problem/1003/C
Problem - 1003C - Codeforces
codeforces.com
알고리즘연습 2024.03.15
<유형>
다이나믹 프로그래밍
프리픽스 썸 (Prefix Sum)
<배운점 정리>
1. not less than k
= k 이상
2. k 이상의 연속적인 날들의 평균치 였으므로 k개의 연속적인 날만 확인하면 안되고,
최대 n개의 날들의 평균치까지 함께 고려해야 함.
3. cout.precision(15); 를 먼저 선언하면
cout할 때 소수점 이하 15자리까지 출력이 가능하다.
아래는 정답 코드
#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
int n, k;
cin >> n >> k;
long long A[5005];
long long P[5005];
A[0] = 0;
long long a;
P[0] = 0;
for (int i = 1; i <= n; i++)
{
cin >> a;
A[i] = a;
P[i] = P[i - 1] + A[i];
}
double ans = 0.0;
for (int j = k; j <= n; j++)
{
for (int i = 1; i <= n - j + 1; i++)
{
ans = max(ans, (double)(P[i + j - 1] - P[i-1])/(double)j);
}
}
cout.precision(15);
cout << ans;
}
반응형
'알고리즘' 카테고리의 다른 글
[백준 11055번] 가장 큰 증가하는 부분 수열, C++, 테스트 케이스 (5) | 2024.06.17 |
---|---|
[CodeForce 327A] Fliping Game C++ 풀이 - Maximum SubArray로 풀기 (0) | 2024.04.08 |
[백준 1967] C++ 트리의 지름 (1) | 2024.02.13 |
[백준 1753번] C++ 최단경로 (1) | 2024.02.13 |
[백준 13549] C++ 숨바꼭질 3 (1) | 2024.02.12 |
Comments