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 | #include<cstdio> #include<algorithm> using namespace std; int arr[100001]; long long money[100001]; int main(void) { int n,m; scanf("%d %d", &n, &m); for(int i=0; i<n; i++) scanf("%d", &arr[i]); for(int i=0; i<m; i++) money[0]+=arr[i]; for(int i=1; i<=(n-m); i++) { money[i]=money[i-1]-arr[i-1]+arr[i+m-1]; } sort(money, money+(n-m+1)); printf("%lld", money[n-m]); return 0; } | cs |
비슷한 코드인데 아래가 조금 더 빠름
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 | #include<cstdio> #include<algorithm> using namespace std; int arr[100001]; long long money[100001]; int main(void) { int n,m; long long ans=0,temp=0; scanf("%d %d", &n, &m); for(int i=0; i<n; i++) { scanf("%d", &arr[i]); if(i<m) temp+=arr[i]; } ans=temp; for(int i=m; i<n; i++) { temp+=arr[i]-arr[i-m]; ans=max(temp,ans); } printf("%lld", ans); return 0; } | cs |
'백준 1 > 기타' 카테고리의 다른 글
| [백준 1275] 커피숍2 (C++) (0) | 2020.12.07 |
|---|---|
| [백준 10820] 문자열 분석 (C++) (0) | 2020.12.07 |
| [백준 14954] Happy Number (C++) (0) | 2020.12.06 |
| [백준 1920] 수 찾기 (C++) (0) | 2020.12.06 |
| [백준 11651] 좌표 정렬하기 - 2 (C++) (0) | 2020.12.06 |