Cod sursa(job #3301536)

Utilizator ibanuIoana Banu ibanu Data 27 iunie 2025 15:48:04
Problema Deque Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.57 kb
from collections import deque

if __name__ == "__main__":
    with open("deque.in", "r") as fin:
        lines = fin.read().strip().split("\n")
    
    n, k = map(int, lines[0].split())

    a = list(map(int, lines[1:]))

    d = deque()
    sum = 0

    for i in range(n):
        while (len(d) and d[-1][0] >= a[i]):
            d.pop()
        d.append((a[i], i))

        while (len(d) and (d[0][1] <= i - k or d[0][1] > i)):
            d.popleft()

        if i >= k - 1:
            sum += d[0][0]
    
    with open("deque.out", "w") as fout:
        fout.write(str(sum))