Cod sursa(job #3312438)

Utilizator darkspecterMarina Luca-Stefan darkspecter Data 28 septembrie 2025 11:36:46
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <bits/stdc++.h>

using namespace std;
//#define int long long
#define ll long long
#define all(x) begin(x), end(x)
#define xx first
#define yy second

using pii = pair<int, int>;

#define cin fin
#define cout fout

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


int n, k;
int x, maxi = INT_MIN;
constexpr int NMAX = (int) 5e6;

int sp[NMAX + 1];
deque <int> dq;
signed main(void)
{
    /**
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);**/
    cin >> n >> k;
    for (int i = 1; i <= n; ++ i)
    {
        cin >> sp[i];
    }
    ll w = 0;
    for (int i = 1; i <= n; ++ i)
    {
       while (!dq.empty() && sp[dq.back()] >= sp[i])
           dq.pop_back();
       dq.push_back(i);
       if (dq.front() == i - k)
            dq.pop_front();
        if (i >= k)
            w += sp[dq.front()];
    }
    cout << w;
    return 0;
}