Cod sursa(job #580126)

Utilizator Adrian1997Radulescu Adrian Adrian1997 Data 12 aprilie 2011 19:30:36
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream.h>
#define DIM 5000002
ifstream f("deque.in");
ofstream g("deque.out");
typedef long deque;
long n,k,v[DIM];
deque d[DIM];

int main(void){
	register int i,j;
	
	f>>n>>k;
	for(i=1;i<=n;i++)
		f>>v[i];
	
	long long sum=0;
	
	int p=1,u=0;
	for(i=1;i<=n;i++){
		while(p<=u && v[i]<v[d[u]])
			u--;
		d[++u]=i;
		
		if(d[p]==i-k)
			p++;
		if(i>=k){
			sum+=v[d[p]];
		}
	}
	
	g<<sum;
	f.close();
	g.close();
	return 0;
}