Cod sursa(job #2050504)

Utilizator Bogdan_BuzatuBuzatu Bogdan Mihai Bogdan_Buzatu Data 28 octombrie 2017 10:11:57
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k,i,p,u;
int a[5000100],d[5000100];
long long s;

int main(){
    fin>>n>>k;
    for(i=1;i<=n;i++){
        fin>>a[i];
    }
    p=u=d[1]=1;
    for(i=2;i<=n;i++){
        while(a[i]<a[d[u]] && p<=u){
            --u;
        }
        d[++u]=i;
        if(i- d[p]==k){
            p++;
        }
        if(i>=k){
            s+=a[d[p]];
        }
    }
    fout<<s;
}