Cod sursa(job #3230208)

Utilizator AndreasBossGamerBaragau Andreas AndreasBossGamer Data 19 mai 2024 22:01:40
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <vector>
#include <deque>

using namespace std;

ifstream cin("deque.in");
ofstream cout("deque.out");

int n, k;
vector<int> v;
deque<int> q;

int main()
{
	cin >> n >> k;
	long long sum = 0;
	v.resize(n + 1);
	for (int i = 1; i <= n; i++) cin >> v[i];

	cout << '\n';
	for (int i = 1; i <= k; i++)
	{
		while (!q.empty() && v[q.front()] >= v[i]) q.pop_front();
		q.push_front(i);
		if (i - k == q.back()) q.pop_back();
	}
	sum += v[q.back()];

	for (int i = k + 1; i <= n; i++)
	{
		while (!q.empty() && v[q.front()] >= v[i]) q.pop_front();
		q.push_front(i);
		if (i - k == q.back()) q.pop_back();
		sum += v[q.back()];
	}
	cout << sum;
}