백준 2559 c++

magicdrill·2024년 3월 9일

백준 문제풀이

목록 보기
123/673

백준 2559 c++

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int input(int lower, int upper)
{
	//cout << "input()" << endl;
	int A;

	while (1)
	{
		cin >> A;
		if (A >= lower && A <= upper)
		{
			break;
		}
		else
		{
			;
		}
	}

	return A;
}

void input_cal(vector <int> &cal, int N)
{
	int i, temp; 
	
	cal.push_back(0);
	for (i = 1; i <= N; i++)
	{
		temp = input(-100, 100);
		cal.push_back(cal[i-1] + temp);
	}

	return;
}

int find_result(vector<int> cal, int N, int K)
{
	int i;
	vector <int> sum;
	int result;

	for (i = K; i <= N; i++)
	{
		sum.push_back(cal[i] - cal[i-K]);
	}
	sort(sum.begin(), sum.end());
	result = sum.back();

	return result;
}

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

	int N, K;
	vector <int> cal;

	N = input(2, 100000);
	K = input(1, N);
	input_cal(cal, N);
	cout << find_result(cal, N, K) << "\n";

	return 0;
}

0개의 댓글