Cod sursa(job #3303744)

Utilizator chisianisChis Ianis-Alexandru chisianis Data 17 iulie 2025 15:58:03
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <stack>
#include <queue>
#include <deque>
using namespace std;

int main()
{
    freopen("deque.in", "r", stdin);
    freopen("deque.out", "w", stdout);
    int n, k; cin >> n >> k;
    vector<int> a(n + 1);
    for(int i = 1; i <= n; i++)
        cin >> a[i];
    deque<int> d;
    long long s = 0;
    for(int i = 1; i <= n; i++){
        int j = i - k + 1;
        while(!d.empty() && a[i] < d.back())
            d.pop_back();
        d.push_back(a[i]);
        if(i >= k) s+=d.front();
        if(j >= 1 && a[j] == d.front()) d.pop_front(); 
    }
    cout << s;
}