192912025-12-03 18:05:21birozsFolyóparti telkek (40 pont)pypy3Futási hiba 38/4090ms32000 KiB
N,P = map(int,input().split())
telek = list(map(int,input().split()))
bal = 0
while telek[bal] > P and bal < N:
    bal += 1
if bal == N:
    print(0)
else:
    jobb = bal
    maxtelek = 1
    resz = telek[bal]
    while bal < N - maxtelek and jobb < N-1:
        if resz + telek[jobb+1] <= P:
            resz += telek[jobb+1]
            jobb = jobb + 1
        elif telek[jobb+1] >= P:
            bal = jobb + 1
            while bal < N and telek[bal] >= P:
                bal += 1
            jobb = bal
            resz = telek[bal]
        elif resz + telek[jobb+1] > P:
            while resz + telek[jobb+1] > P:
                resz -= telek[bal]
                bal += 1
            resz += telek[jobb+1]
            jobb = jobb +1
        if jobb+1-bal > maxtelek:
            maxtelek = jobb+1-bal

print(maxtelek)
    


RészfeladatÖsszpontTesztVerdiktIdőMemória
base38/40
1Elfogadva0/039ms19632 KiB
2Futási hiba0/076ms32000 KiB
3Futási hiba0/265ms22736 KiB
4Elfogadva2/243ms19368 KiB
5Elfogadva2/248ms19424 KiB
6Elfogadva2/239ms19552 KiB
7Elfogadva2/241ms19736 KiB
8Elfogadva3/348ms21464 KiB
9Elfogadva3/359ms21732 KiB
10Elfogadva3/357ms21852 KiB
11Elfogadva3/359ms22228 KiB
12Elfogadva3/378ms26748 KiB
13Elfogadva3/379ms28444 KiB
14Elfogadva3/378ms29152 KiB
15Elfogadva3/381ms31600 KiB
16Elfogadva3/390ms31660 KiB
17Elfogadva3/379ms31896 KiB