Cod sursa(job #2050500)

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

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

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;
}