Cod sursa(job #1212328)

Utilizator andreey_047Andrei Maxim andreey_047 Data 24 iulie 2014 14:06:45
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
#define max 5000009
using namespace std;
int D[max],a[max];
int main(){
    int k,n,i,f,b;
    long long s;
    ifstream fin("deque.in");
    fin>>n>>k;
    for(i=1;i<=n;i++) fin>>a[i];
    fin.close();
    b = f = 1; s = 0;
    D[1]=1;
    for(i=2;i<=n;i++){
        while(b >= f && a[i] < a[D[b]]) b--;
        D[++b] = i;
        if(D[f] == i-k) f++;
        if(i>=k) s+=a[D[f]];
    }
    ofstream fout("deque.out");
    fout<<s<<'\n';
    fout.close();
    return 0;
}