Cod sursa(job #728408)

Utilizator OwnedCheciches Marius Owned Data 28 martie 2012 18:29:11
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#include <deque>
using namespace std;

long long a[5000001],n,k;
deque <long long> d;

int main(){
	long long i,s=0;
	ifstream f("deque.in");
	ofstream g("deque.out");
	f>>n>>k;
	for(i=1;i<=n;i++)
		f>>a[i];
	d.push_front(1);
	for(i=2;i<=n;i++){
		while(!d.empty()&&a[i]<a[d.back()])
			d.pop_back();
		d.push_back(i);
		if(d.front()==i-k)
			d.pop_front();
		if(i>=k)
			s=s+a[d.front()];}
	g<<s;
	f.close();
	g.close();
	return 0;}