Cod sursa(job #2508321)

Utilizator DavidLDavid Lauran DavidL Data 11 decembrie 2019 21:44:32
Problema Secventa 2 Scor 40
Compilator py Status done
Runda Arhiva de probleme Marime 0.63 kb
fi = open("secv2.in", "r")
fo = open("secv2.out", "w")

def citeste():
    ret = fi.readline().split()
    ret = list(map(int, ret))
    return ret

n, k = citeste()
a = citeste()

S = [0] * 50005

minimS = 1000000000
pozMinimS = -1
ans = -1000000000
pozStAns = -1
pozDrAns = -1
for i in range(0, n):
    S[i] = S[i - 1] + a[i]
    if i - k >= 0:
        if S[i - k] < minimS:
            minimS = S[i - k]
            pozMinimS = i - k + 1
    if S[i] - minimS > ans:
        ans = S[i] - minimS
        pozStAns = pozMinimS
        pozDrAns = i

fo.write(str(pozStAns + 1) + " " + str(pozDrAns + 1) + " " + str(ans))