Cod sursa(job #1053114)

Utilizator RampageSergiu Caraian Rampage Data 12 decembrie 2013 11:43:14
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
using namespace std;

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

int v[5000001],dq[5000001];

int main()
{
	long n, k, suma_min=0;
	
	f>>n>>k;
	for (int i=1; i<=n; ++i)
		f>>v[i];
	
	int l=1, r=0;
	for (int i=1; i<=n; ++i)
	{
		while(v[dq[r]]>=v[i] && l<=r)
			r--;	
	
		r++;
		dq[r] = i;
		
		if (dq[l]==i-k)
			l++;
		if (i>=k)
			suma_min+=v[dq[l]];

	}

	g<<suma_min;
	return 0;
}