28522023-01-29 21:18:47kristofLeggyorsabb pénzkeresés (50)python3Hibás válasz 4/50103ms36480 KiB
from itertools import accumulate

n, k = input().split()
n = int(n)
k = int(k)

arr = list(map(int, input().split()))
prefixArr = list(accumulate(arr))

l = 0
r = -1
eddigiSzam = 0
out = n
for i in range(n):
    eddigiSzam = prefixArr[i]
    while eddigiSzam >= k:
        eddigiSzam -= prefixArr[l]
        l += 1
        if eddigiSzam == k:
            out = min(i-l+1, out)

print(out)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/50
1Hibás válasz0/017ms11320 KiB
2Hibás válasz0/0100ms34040 KiB
3Hibás válasz0/217ms11748 KiB
4Elfogadva2/217ms11796 KiB
5Hibás válasz0/217ms11908 KiB
6Hibás válasz0/225ms14464 KiB
7Hibás válasz0/225ms14756 KiB
8Hibás válasz0/225ms15000 KiB
9Hibás válasz0/226ms14888 KiB
10Hibás válasz0/224ms15128 KiB
11Hibás válasz0/297ms35620 KiB
12Hibás válasz0/293ms35540 KiB
13Hibás válasz0/297ms36188 KiB
14Hibás válasz0/294ms35936 KiB
15Hibás válasz0/293ms36160 KiB
16Hibás válasz0/292ms36200 KiB
17Hibás válasz0/292ms36220 KiB
18Hibás válasz0/2101ms36016 KiB
19Hibás válasz0/2103ms36168 KiB
20Hibás válasz0/294ms36412 KiB
21Hibás válasz0/297ms36324 KiB
22Hibás válasz0/2100ms36292 KiB
23Hibás válasz0/293ms36300 KiB
24Elfogadva2/2100ms36272 KiB
25Hibás válasz0/2100ms36256 KiB
26Hibás válasz0/2101ms36480 KiB
27Hibás válasz0/294ms36404 KiB