Cod sursa(job #1059165)

Utilizator c.mihaelaMihaela Gabriela Ciobotaru c.mihaela Data 16 decembrie 2013 12:01:49
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<iostream>
#include<fstream>

using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");

int A[5000010],Deque[5000010];

int main()
{
	int N,K, s=0, i, fr, bk;
	fin>>N>>K;
	for(i=1;i<=N;i++)
		fin>>A[i];
	fr=1; bk=0;
	for(i=1;i<=N;i++)
	{
		while(fr<=bk && A[i]<=A[Deque[bk]])
			bk--;
		Deque[++bk]=i;
		if(Deque[fr]==i-K)
			fr++;
		if(i>=K)
			s=s+ A[Deque[fr]];
	}
	fout<<s;
	return 0;
}