Cod sursa(job #2936915)

Utilizator PetreIonut69420Petre Ionut PetreIonut69420 Data 9 noiembrie 2022 17:52:17
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda cnilc1_2-dq Marime 0.59 kb
#include <bits/stdc++.h>

using namespace std;

long long int n , i , k , x , *fr , *a , p , u , s;
deque <long long int> q;

ifstream f("deque.in");
ofstream g("deque.out");

int main()
{
    f >> n >> k;
    fr=new int[5000005];
    a=new int[5000005];
    for(i=1;i<=n;i++) f >> a[i] , fr[i]=i;
    for(i=1;i<=n;i++){
        p++;
        while(!q.empty() && a[i]<a[q.back()]){
            q.pop_back();
        }
        q.push_back(i);
        while(!q.empty() && fr[i]-fr[q.front()]+1>k) q.pop_front();
        if(p>=k && !q.empty()) s+=a[q.front()];
    }
    g << s;
}