반응형
문제
https://www.acmicpc.net/problem/2559
풀이 과정
2 <= N <= 100,000
1 <= K < N
-100 <= 온도 <= 100
최솟값 : -100(최저 온도) * 100,000 = -10,000,000
최댓값 : 100 * 100,000 = 10,000,000
문제점
처음 하였을 때, sum[100'000] 으로 잡아두었으나, 계속하여 틀렸다고 나왔었습니다.
이유가 sum[100'000] -> sum[100'001] 로 해두니, 해결되었는데, 이유가 수열을 하면서 첫 인자를 1로 사용하여서
마지막엔 1을 추가해두어야하는..문제가.. 정신을 아주 나버렸네요.
코드 ( C++ )
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n, k, sum[100001], ret = -1000000;
int main()
{
cin >> n >> k;
for (int i = 1; i <= n; ++i) {
int temp = 0;
cin >> temp;
sum[i] = sum[i - 1] + temp;
}
for (int i = k; i <= n; ++i)
{
ret = max(ret, sum[i] - sum[i - k]);
}
cout << ret << endl;
return 0;
}
반응형
'Etc > Algorithm' 카테고리의 다른 글
[BOJ]9996번 한국이 그리울 땐 서버에 접속하지 (0) | 2022.07.14 |
---|---|
[BOJ]11655번 ROT13 (0) | 2022.07.14 |
[BOJ]2979번 트럭 주차 (0) | 2022.07.13 |
[BOJ]10808-알파벳 개수 (0) | 2022.07.12 |
[BOJ]2309-일곱 난쟁이 (0) | 2022.07.11 |