Cod sursa(job #865763)

Utilizator drobertDumitru Robert drobert Data 26 ianuarie 2013 22:35:54
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
long long n,i,j,front=1,back,s,k;
long long deque[5000001],v[5000001];
int main ()
{
	f>>n>>k;
	for (i=1;i<=n;i++)
	{
		f>>v[i];
		while (front<=back && v[i]<v[deque[back]])
			back--;
		deque[++back]=i;
		if (deque[front]==i-k)
			front++;
		if (i>=k)
			s+=v[deque[front]];
	}
	g<<s;
}