Cod sursa(job #3135011)

Utilizator alvaro.regueira-vilarAlvaro Regueira Vilar alvaro.regueira-vilar Data 1 iunie 2023 14:50:24
Problema Deque Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.69 kb

int main() {
    FILE* fin = fopen("deque.in", "r");
    FILE* fout = fopen("deque.out", "w");

    int n, a, k;
    long long int suma = 0;
    fscanf(fin, "%d%d", &n, &k);
    Deque* v = createDeque(n);
    for (int i = 0; i < n; i++) {
        fscanf(fin, "%d", &a);
        while (!isDequeEmpty(v) && back(v).first > a)
            popBack(v);
        Pair item;
        item.first = a;
        item.second = i;
        pushBack(v, item);
        if (front(v).second + k == i)
            popFront(v);
        if (i >= k - 1)
            suma += front(v).first;
    }
    fprintf(fout, "%lld", suma);

    fclose(fin);
    fclose(fout);
    destroyDeque(v);
    return 0;
}