Cod sursa(job #1904947)

Utilizator andrei_diaconuAndrei Diaconu andrei_diaconu Data 5 martie 2017 20:57:47
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
#include <deque>

#define NMax 5000010

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

int n, k, v[NMax];
deque<int> D;
long long sum;

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

	for (int i = 1; i <= n; i++) {
		while (!D.empty() && v[D.back()] >= v[i])
			D.pop_back();
		D.push_back(i);

		if (i - D.front() + 1 > k)
			D.pop_front();

		if (i >= k)
			sum += 1LL * v[D.front()];
	}

	g << sum;
}