본문 바로가기
전공공부/코딩테스트

(c++) 백준 "2559. 수열"

by 시아나 2022. 4. 27.

https://www.acmicpc.net/problem/2559

 

2559번: 수열

첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기

www.acmicpc.net


#include <iostream>
#include <vector>

using namespace std;
int N, K, biggest = -10000000;
vector<int> list;

void solution() {
	int num = 0, k = 0;
	for (int i = 0; i < K-1; i++) {
		num += list[i];
	}
	for (int i = K-1; i < N; i++) {
		num += list[i];
		if (num > biggest) {
			biggest = num;
		}
		num -= list[k++];
	}
	cout << biggest << endl;
}

int main() {
	cin >> N >> K;
	for (int i = 0; i < N; i++) {
		int n;
		cin >> n;
		list.push_back(n);
	}
	solution();
	return 0;
}