123202024-12-12 07:57:50birozsBenzinkút üzemeltetés (55)python3Elfogadva 55/5523ms4168 KiB
N,K=map(int,input().split())
tav = []
haszon = []
kutak = [[1]]
for i in range(N):
    T,H=map(int,input().split())
    tav.append(T)
    haszon.append(H)
D = [haszon[0]]
for i in range(1,N):
    j = i-1
    while j>=0 and tav[i]-tav[j]<K:
        j -= 1
    if j<0:
        D.append(max(haszon[i],D[i-1]))
        if haszon[i] > D[i-1]:
            kutak.append([i+1])
        else:
            kutak.append(kutak[-1])
    else:
        D.append(max(D[i-1],haszon[i]+D[j]))
        if haszon[i]+D[j]>D[i-1]:
            kutak.append(kutak[j]+[i+1])
        else:
            kutak.append(kutak[-1])
print(D[-1])
print(len(kutak[-1]),end=" ")
for x in kutak[-1]:
    print(x,end=" ")
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/017ms3128 KiB
2Elfogadva0/023ms4168 KiB
3Elfogadva3/316ms3120 KiB
4Elfogadva3/316ms2996 KiB
5Elfogadva3/316ms3220 KiB
6Elfogadva3/314ms3128 KiB
7Elfogadva3/317ms3172 KiB
8Elfogadva3/316ms3128 KiB
9Elfogadva3/317ms3212 KiB
10Elfogadva3/316ms3068 KiB
11Elfogadva3/316ms3112 KiB
12Elfogadva3/318ms3244 KiB
13Elfogadva4/418ms3460 KiB
14Elfogadva4/418ms3728 KiB
15Elfogadva5/518ms3800 KiB
16Elfogadva6/620ms3996 KiB
17Elfogadva6/620ms3896 KiB