Cod sursa(job #389078)

Utilizator victor_bla_blaDumitrescu Victor victor_bla_bla Data 31 ianuarie 2010 19:46:39
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
#include<list>
#define NMAX 5000000
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long a[NMAX],n,k,i;
long long s;
list<long> L;
int main()
{
	fin>>n>>k;
	for (i=1;i<=n;i++)
		fin>>a[i];
	for (i=1;i<=n;i++)
	{
		while (!L.empty() && a[L.back()]>=a[i])
			L.pop_back();
		L.push_back(i);
		if (L.front()==i-k) L.pop_front();
		if (i>=k) s=s+a[L.front()];
	}
	fout<<s;
fout.close();
return 0;}