Cod sursa(job #3275764)

Utilizator pkseVlad Bondoc pkse Data 11 februarie 2025 18:46:03
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <deque>
#define fi first 
#define se second 
using namespace std;

deque<pair<long long, int>> q;

int main() {
    freopen("deque.in", "r", stdin);
    freopen("deque.out", "w", stdout);
    int n, k; cin >> n >> k;
    long long ans = 0;
    for(int i = 1; i <= n; i ++) {
        long long x; cin >> x;
        if(q.size() && q.back().se <= i - k)
            q.pop_back();
        while(q.size() && q.front().fi >= x)
            q.pop_front();
        q.push_front({x, i});
        if(i >= k) 
            ans += q.back().fi;
    }
    cout << ans;
}