(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: break for j in range(m+1): #残りエネルギー if k=0 and k+1<=i: ndp[nj][k+1]=max(ndp[nj][k+1],dp[j][k]+d) dp=[t[:]for t in ndp] ans=0 for j in range(m+1): for k in range(l+1): ans=max(ans,dp[j][k]) print(ans+sd)