Cod sursa(job #3289678)

Utilizator Eric.mEric Mestereaga Eric.m Data 28 martie 2025 00:09:06
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>
#define NMAX 5000002

using namespace std;

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

int N,K;
int a[NMAX];
deque <int> dq;
long long sum;

int main()
{
    fin >> N >> K;
    for(int i=1;i<=N;i++){
        fin >> a[i];
    }
    int i=1;
    for(;i<K;i++){
        while(!dq.empty() && a[dq.back()]>=a[i]){
            dq.pop_back();
        }
        dq.push_back(i);
    }
    for(;i<=N;i++){
        while(!dq.empty() && a[dq.back()]>=a[i]){
            dq.pop_back();
        }
        dq.push_back(i);
        while(dq.front()<=i-K){
            dq.pop_front();
        }
        sum+=a[dq.front()];
    }
    fout << sum;
}