Cod sursa(job #2887115)

Utilizator little.tortoiseLittle Tortoise little.tortoise Data 8 aprilie 2022 20:58:39
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;

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

#define NMAX 5000004
int x[NMAX], deq[NMAX], N, K;
long long res;

int main()
{
    fin>>N>>K;

    for(int i = 1; i <= N; ++i)
        fin>>x[i];

    int right = 0, left = 1;

    for(int i = 1; i <= N; ++i)
    {
        while(right >= left && x[i] <= x[deq[right]])
            right--;

        deq[++right] = i;
        if(i >= K)
        {
            res += x[deq[left]];
            if(deq[left] == i - K + 1)
                left++;
        }
    }

    fout<<res;

    return 0;
}