Cod sursa(job #3135048)

Utilizator alvaro.regueira-vilarAlvaro Regueira Vilar alvaro.regueira-vilar Data 1 iunie 2023 17:30:26
Problema Deque Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <stdio.h>
#include <stdlib.h>
#include "deque.h"
#define maxN 5000001
int N,K;
int A[maxN];
int main() {
    FILE* f = fopen("deque.in", "r");
    FILE* g = fopen("deque.out", "w");
    Deque deque;
    initializeDeque(&deque);
    int sum=0;

    fscanf(f, "%d %d", &N, &K);

    for (int i = 0; i < N; i++)
        fscanf(f, "%d", &A[i]);
    fclose(f);
    for(int i = 0; i < N; i++){
        while(!(empty(&deque)) && A[i]<=A[deque.back])
            pop_back(&deque);
        push_back(&deque,i);

        if(deque.front == i-K)
            pop_front(&deque);
        if(i>=K-1)
            sum+=A[deque.front];
    }
    fprintf(g, "%d", sum);
    fclose(g);
    return 0;
}