Cod sursa(job #2932617)

Utilizator TheEpicWipedCreaVlad Chirita Alexandru TheEpicWipedCrea Data 3 noiembrie 2022 12:21:19
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in  ("deque.in");
ofstream out("deque.out");

#define maxN 5000000
#define INF 10000000

int v[maxN+1];
int coada[maxN+1];

int main(){
    int n,k,st=0,fn=0;
    v[0]=-INF;
    long long s=0;

    in>>n>>k;
    for(int i=1;i<=n;i++){
        in>>v[i];
        if(i<k){
            while(v[i]<v[coada[fn]] && fn>=st){
                fn--;
            }
            fn++;
            coada[fn]=i;
        }
        else{
            if(i-k>=coada[st]){
                st++;
            }
            while(v[i]<v[coada[fn]] && fn>=st){
                fn--;
            }
            fn++;
            coada[fn]=i;

            s+=v[coada[st]];
        }
    }
    out<<s;

    return 0;
}