Cod sursa(job #2645175)

Utilizator i_0__0_iNaimul i_0__0_i Data 27 august 2020 13:59:01
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;

int32_t main()
{
    ios::sync_with_stdio(false), cin.tie(nullptr);
    // freopen("deque.in", "r", stdin);
    // freopen("deque.out", "w", stdout);
    int n , k; cin >> n >> k;
    vector<int> v(n);
    for (auto &it : v) cin >> it;
    int64_t ans = 0;
    int i = 0;

    deque<int> dq;
    for (i = 0; i < k; i++) {
        while (!dq.empty() && v[i] <= v[dq.back()]) dq.pop_back();
        dq.push_back(i);
    }
    
    while (i < n) {
        ans += v[dq.front()];
        while (!dq.empty() && dq.front() <= i - k) dq.pop_front();
        while (!dq.empty() && v[i] <= v[dq.back()]) dq.pop_back();
        dq.push_back(i);
        i++;
    }
    ans += v[dq.front()];
    cout << ans;
    return 0;
}