Cod sursa(job #2770693)

Utilizator Teodor_AxinteAxinte Teodor-Ionut Teodor_Axinte Data 22 august 2021 18:06:08
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <iostream>

using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");


const int N = 5000010;
int v[N], d[N];
int n, k;
long long int ans;

int main() {
    fin >> n >> k;

    for (int i = 1; i <= n; i++)
        fin >> v[i];

    int st = 1, dr = 0; //st<dr -> deck-ul este vid

    for (int i = 1; i <= n; i++) {
        while (st <= dr && v[i] <= v[d[dr]])
            dr--;
        d[++dr]=i;
        if (d[st] == i - k)
            st++;
        if (i >= k)
            ans += v[d[st]];
    }
    fout << ans;
    return 0;
}