Cod sursa(job #3148258)

Utilizator Pop_EmilPal Tamas Pop_Emil Data 30 august 2023 12:47:49
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <deque>
using namespace std;

FILE *in = fopen("deque.in", "r"), *out = fopen("deque.out", "w");
int N, K, val;
int A[5000005];
long long int sum = 0;
std::deque<int> D;


int main()
{
    fscanf(in, "%d %d", &N, &K);
    for (int i = 1; i <= N; ++i){
        fscanf(in, "%d", &val);
        A[i] = val;

        while(!D.empty() && A[D.back()] > val)
            D.pop_back();

        D.push_back(i);

        if(D.front() == i - K)
            D.pop_front();

        if (i >= K)
            sum += A[D.front()];
    }
    fprintf(out, "%lld", sum);
    return 0;
}