Cod sursa(job #3373756)

Utilizator ractanuMicu David Andrei ractanu Data 7 noiembrie 2026 19:59:37
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;

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

int main()
{
    int n, k;
    
    fin >> n >> k;
    
    int v[n+1];
    
    for (int i=1; i<=n; i++){
        
        fin >> v[i];
    }
    
    deque<pair<int,int>> d;
    
    long long s=0;
    
    for (int i=1; i<=n; i++){
        
        while(!d.empty() && d.front().second <= i-k){
            d.pop_front();
            
        }
        
        while(!d.empty() && d.back().first >= v[i]){
            
            d.pop_back();
        }
        
        d.push_back({v[i], i});
        
        if(i>=k){
            
            s+=d.front().first;
        }
        
    }
    
    fout << s;
    

    return 0;
}