Cod sursa(job #3313291)

Utilizator filipdanieloanFilip-Daniel Oancea filipdanieloan Data 3 octombrie 2025 11:02:45
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
using namespace std;

long long rez;

signed main()
{
#ifndef LOCAL
    ifstream cin("deque.in");
    ofstream cout("deque.out");
#endif

    int N, K;
    cin >> N >> K;

    deque<pair<int, int>> dq;
    for(int i = 1; i <= N; ++i) {
        pair<int, int> nr;
        cin >> nr.first;
        nr.second = i;
        while(!dq.empty() && nr.first <= dq.back().first)
            dq.pop_back();
        while(!dq.empty() && i - dq.front().second + 1 > K)
            dq.pop_front();
        dq.push_back(nr);
        if(i < K) continue;
        rez += dq.front().first;
    }

    cout << rez;
}