Cod sursa(job #423904)

Utilizator bog29Antohi Bogdan bog29 Data 24 martie 2010 13:43:15
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream>
#define dmax 5000004
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");

long long n,k,x[dmax],s,dq[dmax/2];

int main()
{	long long i,p1,p2;
	in>>n>>k;
	for(i=1;i<=n;i++)
		in>>x[i];
	in.close();
	p1=1;
	p2=0;
	for(i=1;i<=n;i++)
	{	while( x[dq[p2]] > x[i] && p2>=p1 ) 	
			p2--;
		p2++;
		dq[p2]=i;
		if( i - dq[p1] > k-1 )
			p1++;
		if(i>=k)
			s+=x[dq[p1]];
	}
	out<<s;
	out.close();
	return 0;
}