Cod sursa(job #2974651)

Utilizator ShadowZoidPorojan Victor-Andrei ShadowZoid Data 4 februarie 2023 12:26:39
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int v[5000005],d[5000005],i,n,ul,pr,k;
long long S;
int main()
{
    cin>>n>>k;
    for(i=1;i<=n;i++)
        cin>>v[i];
    d[1]=1;
    ul=pr=1;
    for(i=2;i<=n;i++)
    {
        while(pr<=ul&&v[i]<=v[d[ul]])
            ul--;
        ul++;
        d[ul]=i;
        if(i-d[pr]==k)
            pr++;
        if(i>=k)
            S+=v[d[pr]];
    }
    cout<<S;
    return 0;
}