Cod sursa(job #386782)

Utilizator titusuTitus C titusu Data 25 ianuarie 2010 22:47:52
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
using namespace std;
#include <fstream>

int n,a[5000005], dq[5000005], k;

int main(){
	ifstream fin("deque.in");
	fin>>n>>k;
	long long s=0;
	for(int i=1;i<=n;++i)
		fin>>a[i];
	int st=1,dr=0;
	for(int i=1;i<=n;++i){
		if(i-dq[st]>=k)
			st++;
		while( a[i] <= a[dq[dr]] && st<=dr)
			dr--;
		dq[++dr]=i;
		if(i>=k)
			s+=a[dq[st]];
	}
	ofstream fout("deque.out");
	fout<<s<<endl;
	return 0;	
}