Cod sursa(job #558192)

Utilizator andrei_vs2009Cozma Andrei andrei_vs2009 Data 17 martie 2011 09:43:05
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
#include<iostream>

using namespace std;

int a[5000001],q[5000001],n,k,pr,ul,minim,poz,min1[5000001];
long long suma;

void Citire()
{
	ifstream f ("deque.in");
	f>>n>>k;
	for (int i=1;i<=n;i++)
		f>>a[i];
	f.close();
}


int main()
{
	Citire();
	int pr,ul,i;
	pr=1,ul=0;
	for(i=1;i<=n;i++)
    {   while(pr<=ul && a[i]<=a[q[ul]]) ul--;
       q[++ul]=i;
        if(q[pr]==i-k) pr++;
        if(i>=k) suma+=a[q[pr]];
    }
	ofstream f("deque.out");
	f<<suma<<"\n";
	f.close();
	return 0;
}