Cod sursa(job #3314818)

Utilizator AnderManStaneci-Barbieru Andrei AnderMan Data 11 octombrie 2025 11:40:00
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;

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

long long int n, k, suma, nr, i;
deque<long long int> dq;

int main()
{
    ios::sync_with_stdio(false);
    fin.tie(nullptr);
    
    fin>>n>>k;
    
    vector<int> v(n+1);
    
    for(i=1;i<=n;++i){
        fin>>v[i];
    }
    
    for(i=1;i<=n;++i){
        
        while(!dq.empty() && v[dq.back()] >= v[i]){
            dq.pop_back();
        }
        
        if(!dq.empty() && dq.front() <= i-k){
            dq.pop_front();
        }
        
        dq.push_back(i);
        
        if(i >= k){
            suma += v[dq.front()];
        }
    }
    
    fout<<suma;
    
    
    
    return 0;
}