BOJ_2559 - 수열
문제/코드 링크
-
문제 : BOJ_2559 - 수열
풀이
-
누적 합을 이용하여 풀었다.
-
초기
answer
의 값을arr[0] ~ arr[k - 1]
의 합으로 지정해준다. -
temp = temp + arr[i] - arr[i - k]
으로 한 칸씩 오른쪽으로 당긴 후 값이 현재answer
보다 크다면answer
를 갱신 해준다.
Code
#include <iostream>
#include <vector>
using namespace std;
int n, k;
int answer;
vector<int> arr;
void solve()
{
int temp = 0;
answer = 0;
for (int i = 0; i < k; ++i) {
temp += arr[i];
}
answer = temp;
for (int i = k; i < n; ++i) {
temp += arr[i];
temp -= arr[i - k];
if (answer < temp) {
answer = temp;
}
}
}
int main()
{
cin >> n >> k;
arr.resize(n);
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
solve();
cout << answer << '\n';
return 0;
}
Author And Source
이 문제에 관하여(BOJ_2559 - 수열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@meantint/BOJ2559-수열저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)