Cod sursa(job #3125529)

Utilizator figure0907Andrei Gonczi figure0907 Data 3 mai 2023 17:10:27
Problema Secventa 2 Scor 0
Compilator py Status done
Runda Arhiva de probleme Marime 0.88 kb
INPUT = "secv2.in"
OUTPUT = "secv2.out"


def get_input(filename):
    f = open(filename, "r")
    [n, m] = list(map(int, f.readline().split()))
    a = list(map(int, f.readline().split()))
    f.close()
    return n, m, a


def solve(n, m, a):
    i = m
    j = 0
    start = 0
    cur = sum(a[0:m])
    first_part = 0
    sol = cur
    x, y = 0, m-1
    while i < n:
        cur += a[i]
        first_part += a[j]
        j += 1
        if first_part < 0:
            cur -= first_part
            first_part = 0
            j = i - m + 1
            start = j
        if cur > sol:
            sol = cur
            x, y = start, i
        i += 1

    return x+1, y+1, sol


def output(x, y, s, filename):
    f = open(filename, "w")
    f.write(str(x) + " " + str(y) + " " + str(s) + "\n")
    f.close()


output(*solve(*get_input(INPUT)), OUTPUT)