Cod sursa(job #826197)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 30 noiembrie 2012 13:52:04
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
#define DIM 5000010
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n, k, v[DIM], d[DIM], i, p, u;
long long s;
int main(){
	f>>n>>k;
	for(i=1; i<=n; i++)
		f>>v[i];
	f.close();
	p=u=1;
	d[1]=1;
	for(i=2; i<=n; i++)
	{
		while(p<=u && v[i]<=v[ d[u] ])
			u--;
		d[++u]=i;
		if(d[p]<=i-k)
			p++;
		if(i>=k)
			s+=v[ d[p] ];
	}
	g<<s<<"\n";
	g.close();
	return 0;
}