Cod sursa(job #711881)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 12 martie 2012 20:48:46
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
#include<deque>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

deque<int>dq;
int n,i,suma,x[5000002],k;

int main (){
	f>>n>>k;
	for(i=1;i<=n;++i)
		f>>x[i];
	
	for(i=1;i<=n;i++){
		
		while(!dq.empty() && x[i]<=x[dq.back()])
			dq.pop_back();
		
		dq.push_back(i);
		
		if(dq.front()<=i-k)
			dq.pop_front();
		
		if(i>=k)
			suma+=x[dq.front()];
		
	}
	
	g<<suma<<"\n";
	
	return 0;
}