Cod sursa(job #936840)

Utilizator OpportunityVlad Negura Opportunity Data 8 aprilie 2013 21:48:38
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <fstream>
using namespace std;

ifstream fi("deque.in");
ofstream fo("deque.out");

long n,k,i,a[5000010],dq[5000010],f,b;
long long rs;

int main(){
	
	fi >> n >> k;
	for (i=1; i<=n; i++) fi >> a[i];

	f=1; b=0;
	for (i=1; i<=n; i++){
		while ((f<=b)&&(a[i]<=a[dq[b]])) b--;
		dq[++b]=i;
		if (dq[f]==i-k) f++;
		if (i>=k) rs+=a[dq[f]];
	}
	
	fo << rs;
	
	return 0;
}