Cod sursa(job #3347823)

Utilizator prares06Papacioc Rares-Ioan prares06 Data 18 martie 2026 14:40:31
Problema Deque Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#include <deque>
#include <vector>

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

int n, k, s;
std::vector<int> v;

int main(){
    fin >> n >> k;

    v.resize(n);
    for(int& x : v){
        fin >> x;
    }
    
    std::deque<int> d;

    for(int i = 0; i < n; ++i){
        if(i < k){
            while(!d.empty() && v[i] < v[d.front()]){
                d.pop_front();
            }
            d.push_front(i);
        }
        else{
            s += v[d.back()];
            while(!d.empty() && i - d.back() >= k){
                d.pop_back();
            }
            while(!d.empty() && v[i] < v[d.front()]){
                d.pop_front();
            }
            d.push_front(i);
        }
    }
    s += v[d.back()];
    fout << s;
}