Cod sursa(job #3346260)

Utilizator matei__bBenchea Matei matei__b Data 13 martie 2026 00:35:44
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <bits/stdc++.h>
#define ll long long

int n,k;

int main()
{
    std::ifstream fin("deque.in");
    std::ofstream fout("deque.out");

    fin >> n >> k;

    ll ans=0;
    std::deque<std::pair<int,int> > d;
    for(int i=1; i<=k; i++){
        int x;
        fin >> x;
        while(!d.empty() && d.back().first>=x){
            d.pop_back();
        }
        d.push_back(std::make_pair(x,i));
    }
    ans+=(1LL*d.front().first);
    // std::cout << d.front().first << "\n";
    
    for(int i=k+1; i<=n; i++){
        int x;
        fin >> x;
        while(!d.empty() && d.back().first>=x){
            d.pop_back();
        }
        d.push_back(std::make_pair(x,i));

        if(d.front().second==i-k)
            d.pop_front();

        ans+=(1LL*d.front().first);
        // std::cout << d.front().first << "\n";
    }

    fout << ans << "\n";

    return 0;
}