Cod sursa(job #3275665)

Utilizator tileadavidtileadavid tileadavid Data 11 februarie 2025 14:17:46
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>

using namespace std;

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

int main()
{
    int n, k;
    cin >> n >> k;

    int v[n + 1];
    for (int i = 1; i <= n; ++i){
        cin >> v[i];
    }

    long long s = 0;
    int coada[k + 1];
    int sf = 0, inc = 1;

    for (int i = 1; i <= n; ++i){
        if (i < k){
            while (sf >= inc and v[i] <= coada[sf])
                --sf;
            coada[++sf] = v[i];
        }
        else{
            s += coada[inc];
            while (sf >= inc and v[i] <= coada[sf])
                --sf;
            coada[++sf] = v[i];

            if (sf - inc + 1 >= k)
                ++inc;

        }
    }
    s += coada[inc];

    cout << s;

    return 0;
}