Cod sursa(job #820437)

Utilizator blechereyalBlecher Eyal blechereyal Data 20 noiembrie 2012 20:33:36
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
//deque
#include <fstream>
using namespace std;
int n, k, v[5000001], dq[5000001], p=1, u=0;
long long s=0;
int main()
{  
    ifstream f("deque.in");
    ofstream g("deque.out");
	int i;
	
	f>>n>>k;
	for(i=1;i<=n;++i)
		f>>v[i];

	for(i=1;i<=n;++i)
	{
		while(p<=u&&v[i]<=v[dq[u]])
			--u;
		dq[++u]=i;
		if(dq[p]<=i-k)
			++p;
		if(i>=k)
			s+=v[dq[p]];
	}
	
	g<<s;
	
	return 0;
}