Cod sursa(job #2936426)

Utilizator andradac2Andrada Costache andradac2 Data 8 noiembrie 2022 20:15:09
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

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

int v[5000001], coada [5000001];
int main()
{
    int inc = 0, sf = 0, n, k, i;
    long long s = 0;
    coada[0] = 0;
    v[0] = -10000001;
    cin >> n >> k;
    for (i = 1; i <= n; i++){
        cin >> v[i];
        if (i < k){
            while (v[i] < v[coada[sf]] && sf >= inc)
                sf--;
            coada[++sf] = i;
        }
        else{
            if (i-k >= coada[inc])
                inc++;
            while (v[i] < v[coada[sf]] && sf >= inc)
                sf--;
            coada[++sf] = i;
            s+=v[coada[inc]];
        }
    }
    cout << s;
    return 0;
}