ll@n,@W,@d,a[2][5001]{},z=0; a[0...1][1..W]=-ll_inf; rep(n){ ll@t,@w,@v; rrep(i,W+1-w){ a[t][i+w]>?=a[t][i]+v; } } rep(i,W+1){ rep(j,W+1){ if(i+j<=W&&-d<=i-j<=d){ z>?=a[0][i]+a[1][j]; } } } wt(z);