Cod sursa(job #3251892)

Utilizator robert.barbu27robert barbu robert.barbu27 Data 27 octombrie 2024 17:35:30
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
 
int N,K;
deque<int> dq;
int v[5000005];
int main()
{
    fin>>N>>K;
    long long sum = 0;
    for(int i=1;i<=N;i++){
        int x;
        fin>>x;
        v[i] = x;
        while(!dq.empty() && v[dq.back()] >= x){
            dq.pop_back();
        }
        dq.push_back(i);
        while(!dq.empty() && dq.front() <= i-K){
            dq.pop_front();
        }
        if(i>=K){
            sum += v[dq.front()];
        }

    }
    fout<<sum;
    return 0;
}