본문 바로가기

코딩 테스트

백준 2559

투 포인터를 활용한 문제 해결

 

#include <iostream>
#include <vector>
#include <queue>
#include <climits>
#include <algorithm>

using namespace std;


int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(0);	cout.tie(0);

	int n, k;
	cin >> n >> k;

	vector<int> arr(n);

	for (int i = 0; i < n; ++i)
	{
		cin >> arr[i];
	}

	int sum = 0;
	int i = 0;
	int start = 0;
	int end = k - 1;

	for (i = 0; i <= end; ++i)
	{
		sum += arr[i];
	}

	int sumOne = sum;

	while (end < n - 1)
	{
		sumOne += arr[++end];
		sumOne -= arr[start++];
	    sum = max(sum, sumOne);
	}
	cout << sum;


	return 0;
}

'코딩 테스트' 카테고리의 다른 글

백준 1010 - 다리 놓기  (0) 2024.11.11
백준 1707 - 이분 그래프  (0) 2024.11.11
프로그래머스 - 단속 카메라  (0) 2024.11.06
백준 1806 - 투포인터  (0) 2024.11.01
백준 투포인터 2230  (0) 2024.11.01