Cod sursa(job #2731344)

Utilizator FraNNNkieFrancesco-Gregorio Petrovici FraNNNkie Data 27 martie 2021 18:06:41
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>
#define NMAX 50000005
using namespace std;
int v[NMAX], dq[NMAX];
int main()
{
    ifstream f("deque.in");
    ofstream g("deque.out");
    int frt, bck, n, k, i;
    long long sum = 0;
    f >> n >> k;
    for(i = 1; i <= n; ++i)
        f >> v[i];
    frt = 1;
    bck = 0;
    for(i = 1; i <= n; ++i)
    {
        while(frt <= bck && v[i] <= v[dq[bck]])
            bck --;
        dq[++ bck] = i;
        if(dq[frt] == i - k)
            frt ++;
        if(i >= k)
            sum += v[dq[frt]];
    }
    g << sum;
    return 0;
}