Cod sursa(job #3247560)

Utilizator Sebi_RipaSebastian Ripa Sebi_Ripa Data 8 octombrie 2024 14:07:38
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stream>
#include <deque>

using namespace std;

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

int v[5000005];
deque <int> dq;

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