Cod sursa(job #3328154)

Utilizator SfichiAndreiSfichi Andrei SfichiAndrei Data 6 decembrie 2025 15:07:46
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <bits/stdc++.h>
#define NMAX 5000008
using namespace std;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
int N,K;
int Deque[NMAX],v[NMAX],Front,Back;
long long int Sum;
int main()
{
    fin>>N>>K;
    for(int i=1;i<=N;i++)
        fin>>v[i];
    for(int i=1;i<=N;i++)
    {
        while(Front<=Back && v[i]<=v[Deque[Back]])
        {
            Back--;
        }
        Back++;
        Deque[Back]=i;
        if(Deque[Front]==i-K)
            Front++;
        if(i>=K)
            Sum+=v[Deque[Front]];
    }
    fout<<Sum;
    return 0;
}