143232025-01-10 15:17:19redfoxdeltaBenzinkút üzemeltetés (55)python3Accepted 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=" ")
SubtaskSumTestVerdictTimeMemory
base55/55
1Accepted0/016ms3380 KiB
2Accepted0/021ms4000 KiB
3Accepted3/316ms3192 KiB
4Accepted3/316ms3120 KiB
5Accepted3/317ms3160 KiB
6Accepted3/316ms3192 KiB
7Accepted3/316ms2988 KiB
8Accepted3/317ms3216 KiB
9Accepted3/316ms3228 KiB
10Accepted3/317ms3132 KiB
11Accepted3/316ms3148 KiB
12Accepted3/318ms3404 KiB
13Accepted4/419ms3540 KiB
14Accepted4/419ms3636 KiB
15Accepted5/519ms3828 KiB
16Accepted6/621ms3912 KiB
17Accepted6/621ms4100 KiB