Cod sursa(job #1609362)

Utilizator Firealex2Rotileanu Alexandru Firealex2 Data 22 februarie 2016 19:17:32
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>

using namespace std;

ifstream fi("deque.in");
ofstream fo("deque.out");

int v[5000001], d[5000001];

int main()
{
	int n, k, i, p, q, sum = 0;
	fi >> n >> k;
	for (i = 1; i <= n; i++)
		fi >> v[i];
	p = 1;
	q = 0;
	sum = 0;
	for (i = 1; i <= n; i++)
	{
		//intra v[i]
		while (p <= q && v[d[q]] >= v[i]) q--;
		q++;
		d[q] = i;
		if (d[p] < i- k + 1 ) p++;
		if (i>=k)
			sum += v[d[p]];
	}
	fo << sum;
}