Etc/Algorithm
[BOJ] 2559 수열
DeeU
2022. 7. 17. 01:43
반응형
문제
https://www.acmicpc.net/problem/2559
11655번: ROT13
첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다.
www.acmicpc.net
풀이 과정
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;
}
반응형