Cod sursa(job #673421)

Utilizator lucian666Vasilut Lucian lucian666 Data 4 februarie 2012 14:46:23
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<fstream>
#define mm 5000010
using namespace std;
ofstream out("deque.out");
int v[mm],q[mm];
int main()
{
	ifstream in("deque.in");
	int n,k;
	long long s=0;
	in>>n>>k;
	int i;
	for(i=1;i<=n;i++)
		in>>v[i];
	int st,dr;
	st=1,dr=0;
	for(i=1;i<=n;i++)
	{
		while(st<=dr&&v[i]<=v[q[dr]])
			dr--;
		q[++dr]=i;
		if(q[st]==i-k)
			st++;
		if(i>=k)
			s+=v[q[st]];
	}
	out<<s;
	return 0;
}