Cod sursa(job #728417)

Utilizator OwnedCheciches Marius Owned Data 28 martie 2012 18:34:09
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <fstream>
using namespace std;

long long a[5000001],d[5000001],p,u;

int main(){
	long long n,k,i,s=0;
	ifstream f("deque.in");
	ofstream g("deque.out");
	f>>n>>k;
	for(i=1;i<=n;i++)
		f>>a[i];
	d[1]=p=u=1;
	for(i=2;i<=n;i++){
		while(p<=u&&a[i]<a[d[u]])
			u--;
		u++;
		d[u]=i;
		if(d[p]==i-k)
			p++;
		if(i>=k)
			s=s+a[d[p]];}
	g<<s;
	f.close();
	g.close();
	return 0;}