Cod sursa(job #2729861)

Utilizator rimihaiMihai Radu-Ioan rimihai Data 25 martie 2021 15:18:41
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

int v[5000005];
int deq[5000005];

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

int main()
{
    long long n,k,s=0;
    fin>>n>>k;
    for(long long i=1; i<=n; i++)
        fin>>v[i];
    long long frontdeq,backdeq;
    frontdeq=1;
    backdeq=0;
    for(long long i=1; i<=n; i++)
    {
        while (frontdeq<=backdeq and v[i]<=v[deq[backdeq]])
        {
            backdeq--;
        }
        backdeq++;
        deq[backdeq]=i;
        if (deq[frontdeq]==i-k) frontdeq++;
        if (i>=k) s=s+v[deq[frontdeq]];
    }
    fout<<s<<endl;
    return 0;
}