Cod sursa(job #3287844)

Utilizator Iustin_Mircea2010Iustin Mircea Iustin_Mircea2010 Data 19 martie 2025 15:39:45
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;
signed main()
{
    ifstream cin("deque.in");
    ofstream cout("deque.out");
    int n, k;
    long long s = 0;
    deque<pair<int, int>> dq;
    cin >> n >> k;
    for(int i = 1; i < k; i++){
        int a;
        cin >> a;
        while(dq.empty() == false && dq.back().first > a)
            dq.pop_back();
        dq.push_back({a, i});
    }
    for(int i = k; i <= n; i++){
        int a;
        cin >> a;
        while(dq.empty() == false && dq.back().first > a)
            dq.pop_back();
        if(dq.empty() == false && dq.front().second <= i - k)
            dq.pop_front();
        dq.push_back({a, i});
        s += dq.front().first;
    }
    cout << s;
    return 0;
}