Cod sursa(job #3128099)

Utilizator BranckhiusIon Dragos-Constantin Branckhius Data 8 mai 2023 17:08:38
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int v[5000001], temp[5000001];
int main() {
    int n, k, st = 0, dr = 0,i;
    f >> n >> k;
    long long suma = 0;
    for (i = 1; i <= n; i++)
        f >> v[i];
    for (i = 1; i <= n; i++) {
        while (st <= dr && v[i] <= v[temp[dr]]) {
            dr = dr - 1;
        }
        dr = dr + 1;
        temp[dr] = i;

        if (k - i < 1 - temp[st]) {
            st = st + 1;
        }
        if (i >= k) {
            suma = suma + v[temp[st]];
        }
    }
g << suma;
f.close();
g.close();
return 0;
}