Cod sursa(job #2844149)

Utilizator victor_gabrielVictor Tene victor_gabriel Data 3 februarie 2022 20:39:05
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#include <deque>

#define DIM 5000001

std::ifstream fin("deque.in");
std::ofstream fout("deque.out");

int n, k;
int v[DIM];
std::deque<int> myDeque;

int main()
{
	fin >> n >> k;
	for (int i = 1; i <= n; i++)
		fin >> v[i];

	long long sum = 0;
	myDeque.push_back(1);
	for (int i = 2; i <= n; i++)
	{
		while (!myDeque.empty() && v[i] < v[myDeque.back()])
			myDeque.pop_back();
		myDeque.push_back(i);

		if (i - myDeque.front() == k)
			myDeque.pop_front();
		if (i >= k)
			sum += v[myDeque.front()];
	}

	fout << sum;

	return 0;
}