Cod sursa(job #3266287)

Utilizator S80P_ShadeslayerBadarau Andrei S80P_Shadeslayer Data 7 ianuarie 2025 10:42:18
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;

ifstream fin ("deque.in");
ofstream fout ("deque.out");

deque <pair <ll, int>> d;

int main()
{
    ll n, k, sum = 0;
    fin >> n >> k;
    for(ll i = 1; i < k; i++)
    {
        ll x;
        fin >> x;
        while(!d.empty() && d.back().first >= x)
        {
            d.pop_back();
        }
        d.push_back({x, i});
    }
    for(ll i = k; i <= n; i++)
    {
        ll x;
        fin >> x;
        if(d.front().second == i-k)
            d.pop_front();
        while(!d.empty() && d.back().first >= x)
        {
            d.pop_back();
        }
        d.push_back({x, i});
        sum += d.front().first;
    }
    fout << sum;
    return 0;
}