Cod sursa(job #1659692)

Utilizator MacoveiTiberiumacovei tiberiu MacoveiTiberiu Data 22 martie 2016 14:42:55
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <iostream>
#include<fstream>
using namespace std;
int n,k,i,v[5000001],D[5000001],inc,sf;	
long long s;
int main()	
{	
	ifstream fin("deque.in");
	ofstream fout("deque.out");
	fin>>n>>k;
	for(i=1;i<=n;i++)
	fin>>v[i];
	inc=1; sf=0;
	for(i=1;i<=n;i++)
    {
        while(inc<=sf&&v[i]<=v[D[sf]]) sf--;
	    D[++sf]=i;
        if(D[inc]==i-k) inc++;
        if(i>=k) s+=v[D[inc]];
    }
    fout<<s;
}