#include<bits/stdc++.h>
using namespace std;
int t,n[1001],c,n1,w[1001][1001],v[1001][1001],dp[1001],ans;
int main(){
scanf("%d%d",&t,&c);
for(int i=1;i<=t;i++){
scanf("%d",&n[i]);
for(int j=1;j<=n[i];j++){
scanf("%d%d",&w[i][j],&v[i][j]);
}
}
for(int i=1;i<=t;i++){
for(int j=c;j>=0;j--){
for(int k=1;k<=n[i];k++){
if(j>=w[i][k]) dp[j]=max(dp[j],dp[j-w[i][k]]+v[i][k]);
}
}
}
printf("%d",dp[c]);
return 0;
}
实在没看出来哪里有问题