Cod sursa(job #279816)

Utilizator allynaAlina S allyna Data 12 martie 2009 23:41:20
Problema Deque Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <iostream.h>
#include<fstream.h>
#define max 5000010
int n,k;
int a[max], coada[max];
int st,dr;
long long s;

int main()
{
	int i;
	ifstream in("deque.in");
	ofstream out("deque.out");
	in>>n>>k;
	for (i=1;i<=n;i++) 
		in>>a[i];
	st=1;
	dr=0; 
	for (i=1;i<=n;i++)
	{
		while (st<=dr && a[i] <= a[coada[dr]]) dr--;		
		coada[++dr]=i;
		if (coada[dr]==i-k) st++;
		if (i>=k) s+=a[coada[st]]; 	
	}
	out<<s;
	return 0;
}