Cod sursa(job #1606039)

Utilizator c0mradec0mrade c0mrade Data 19 februarie 2016 19:36:45
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
#define N 5000000
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");

int n,k,i,v[N],dq[N];
long long sum;

int main(){
    in>>n>>k;
    for(i=1;i<=n;++i) in>>v[i];
    int frt=1;
    int bck=0;
    for(i=1;i<=n;++i)
    {
        while(frt<=bck && v[i]<=v[dq[bck]]) bck--;
        dq[++bck]=i;
        if(dq[frt]==i-k) frt++;
        if(i>=k) sum+=v[dq[frt]];
    }
    out<<sum;
    return 0;
}