Cod sursa(job #3236924)

Utilizator vlad7654vladimir manescu vlad7654 Data 3 iulie 2024 16:42:44
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int main(){
    long long n, k, s = 0;
    fin>>n>>k;
    deque<pair<int,int> > d;
    for(int i=1;i<=k;i++){
        int val;
        fin>>val;
        while(!d.empty() and d.front().first>val){
            d.pop_front();
        }
        d.push_front({val, i});
    }
    s=d.back().first;
    for(int i=k+1;i<=n;i++){
        int val;
        fin>>val;
        if(!d.empty() and d.back().second<i-k+1){
            d.pop_back();
        }
        while(!d.empty() and d.front().first>val){
            d.pop_front();
        }
        d.push_front({val, i});
        s+=d.back().first;
    }
    fout<<s;
}