계산방법을 구간합으로 바꾸니 연산이 줄어 시간내에 해결 가능하였다
max 를 사용해서 비교 갱신하여 ret 의 최대값을 구하였으므로, 최소값을 구하였고 여유값을 더 준점이 포인트다
#include <bits/stdc++.h>
using namespace std;
int a;
int n;
int temp;
int psum[100004]; // 여유공간 4
int ret = -10000004; // max비교를 위한 최소값, 온도가 -100이고 10만번 더하니 -1000만이 최소값이다 여유를 위해 공간을 더 주자
int main(){
cin >> a >> n;
for(int i=1; i<=a; i++){
cin >> temp;
psum[i]=psum[i-1]+temp;
}
for(int i=n; i<=a; i++)
ret = max(ret, psum[i]-psum[i-n]);
cout << ret << "\n";
return 0;
}
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
백준 9375/c++ )) 패션왕 신해빈 (0) | 2022.06.15 |
---|---|
백준 1620/c++ )) 나는야 포켓몬 마스터 이다솜 (0) | 2022.06.15 |
[c++] 로또의 최고 순위와 최저 순위 (0) | 2022.06.15 |
백준 2559 수열 문제 오답 분석 (0) | 2022.06.14 |
백준 알고리즘 10988번 - 입출력, 입력범위, stirng 이해 부족으로 인한 런타임에러 (0) | 2022.06.13 |
댓글