(n,m),*e=[[*map(int,s.split())]for s in open(0)] def compare(l,r): c1,d1=l c2,d2=r return c1+2*c2<=c2+2*c1 def merge(L,R): ret=[] l=r=0 while lm: continue for j in range(m+1): #残りエネルギー if k=0 and k+1<=i: dp[nj][k+1]=max(dp[nj][k+1],dp[j][k]+d) ans=max(ans,dp[nj][k+1]) print(ans+sd)