Cod sursa(job #3126281)

Utilizator AndreiKatsukiAndrei Dogarel AndreiKatsuki Data 6 mai 2023 14:39:12
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

const int NMAX = 5e6 + 5;
int a[NMAX], dq[NMAX], n, k, st = 1, dr;

int main(){
    f >> n >> k;
    for(int i = 1; i <= n; ++i){
        f >> a[i];
    }
    long long sol = 0;
    for(int i = 1; i <= n; ++i){
        while(st <= dr && a[i] <= a[dq[dr]]){
            dr--;
        }
        dq[++dr] = i;
        if(i - k == dq[st]){
            st++;
        }
        if(i >= k){
            sol += a[dq[st]];
        }
    }
    g << sol;
    return 0;
}