Cod sursa(job #711884)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 12 martie 2012 20:50:01
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream>
#include<deque>

using namespace std;

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

deque<int>dq;
int n,i,x[5000002],k;
long long suma;
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;
}