반복 횟수가 많기 때문에 누적합으로 풀어야 하는 문제
해당 문제에서 처음에 최소값을 -1로 두고 풀어서 계속해서 오류가 발생하였다.
최솟값이나, 최댓값을 설정할때 범위를 벗어나는 값으로 설정하자. ex) -987654321
#include <iostream>
using namespace std;
int N;
int K;
int acc[100010];
int sum;
int ans = -10000;
int main(){
//배열 입력 받아서, 누적합 배열을 만들어주자.
cin >> N >> K;
for(int i = 0; i < N; i++){
int a;
cin >> a;
sum += a;
acc[i+1] = sum; // 1부터 넣어줌. >> 이렇게 하면 3 ~ 1 까지의 누적합을 3-1로 가능
}
for(int i = 0; i < N - K + 1; i++ ){
if(acc[i+ K] - acc[i] > ans) ans = acc[i+K] - acc[i];
}
cout << ans;
}