143232025-01-10 15:17:19redfoxdeltaBenzinkút üzemeltetés (55)python3Elfogadva 55/5521ms4100 KiB
N,K=map(int,input().split())
Ti = []
Hi= []
V = [[1]]
for i in range(N):
    T,H=map(int,input().split())
    Ti.append(T)
    Hi.append(H)
D = [Hi[0]]
for i in range(1,N):
    z = i-1
    while z>=0 and Ti[i]-Ti[z]<K:
        z -= 1
    if z<0:
        D.append(max(Hi[i],D[i-1]))
        if Hi[i] > D[i-1]:
            V.append([i+1])
        else:
            V.append(V[-1])
    else:
        D.append(max(D[i-1],Hi[i]+D[z]))
        if Hi[i]+D[z]>D[i-1]:
            V.append(V[z]+[i+1])
        else:
            V.append(V[-1])
print(D[-1])
print(len(V[-1]),end=" ")
for x in V[-1]:
    print(x,end=" ")
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/016ms3380 KiB
2Elfogadva0/021ms4000 KiB
3Elfogadva3/316ms3192 KiB
4Elfogadva3/316ms3120 KiB
5Elfogadva3/317ms3160 KiB
6Elfogadva3/316ms3192 KiB
7Elfogadva3/316ms2988 KiB
8Elfogadva3/317ms3216 KiB
9Elfogadva3/316ms3228 KiB
10Elfogadva3/317ms3132 KiB
11Elfogadva3/316ms3148 KiB
12Elfogadva3/318ms3404 KiB
13Elfogadva4/419ms3540 KiB
14Elfogadva4/419ms3636 KiB
15Elfogadva5/519ms3828 KiB
16Elfogadva6/621ms3912 KiB
17Elfogadva6/621ms4100 KiB