Cod sursa(job #389063)

Utilizator victor_bla_blaDumitrescu Victor victor_bla_bla Data 31 ianuarie 2010 19:20:59
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<fstream>
#define NMAX 5000000
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
long a[NMAX],dq[NMAX],n,k,i,ic,sc,s;
int main()
{
	fin>>n>>k;
	for (i=1;i<=n;i++)
		fin>>a[i];
	ic=1; sc=0;
	for (i=1;i<=n;i++)
	{
		while (ic<=sc && a[i]<=a[dq[sc]])
			sc--;
		sc++;
		dq[sc]=i;
		if (dq[ic]==i-k) ic++;
		if (i>=k) s=s+a[dq[ic]];
	}
fout<<s;
fout.close();
return 0;}