Cod sursa(job #469998)

Utilizator ionicaion ionica Data 10 iulie 2010 13:28:51
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream>
#include<iostream.h>
using namespace std;
long long c[5000001],a[5000001],s;
int main()
{ifstream f("deque.in");
ofstream g("deque.out");
long long n,i,k,p,u;
f>>n>>k;
p=1;u=0;
for(i=1;i<=n;i++)
{	f>>a[i];
//cout<<"ai="<<a[i]<<'\n';
	while(p<=u && a[i]<=a[c[u]])
	   {//cout<<"scot "<<c[u]<<'\n';
		//c[u]=0;
		u--;
		}
	u++;
	c[u]=i;
	//cout<<"adaug "<<i<<'\n';
	if(c[p]==i-k){c[p]=0;p++;}
	if(i>=k)
	    {s=s+a[c[p]];
	     //cout<<"adun "<<a[c[p]]<<'\n';
		}
}
g<<s<<'\n';
}