Cod sursa(job #417888)

Utilizator AnDrEwBoYA Andrei AnDrEwBoY Data 14 martie 2010 23:45:33
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<cstdio>
#include<algorithm>
#include<deque>
using namespace std;
long long int sum;
int n,k,x,V[5000005];
deque<int> D;
void read(),solve();
int main()
{
	read();
	solve();
	return 0;
}
void read()
{
	freopen("deque.in","r",stdin);
	freopen("deque.out","w",stdout);
	scanf("%d%d",&n,&k);
}
void solve()
{
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&V[i]);
		while(!D.empty() && V[D.back()]>=V[i]) D.pop_back();
		D.push_back(i);
		if(D.front()== i-k) D.pop_front();		
		if(i>=k) sum+=V[D.front()];
	}
	printf("%lld\n",sum);
}