Cod sursa(job #673420)

Utilizator lucian666Vasilut Lucian lucian666 Data 4 februarie 2012 14:44:57
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<fstream>
#define mm 5000009
using namespace std;
ofstream out("deque.out");
int v[mm],q[mm];
int main()
{
	ifstream in("deque.in");
	int n,k,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;
}