#include using namespace std; #include #include int c[101],p[101],w[101][51]; int f[101][51][501],prev[101][51][501],prem[101][51][501]; int av,am=2147438647; int v[101]; int n,m; void get_av() { int tot=n; while (tot>0) { v[tot]=av; int bv=av,bm=am; av=prev[tot][bv][bm]; am=prem[tot][bv][bm]; tot--; } } void print_av() { for (int i=1; i<=n; i++) cout<>n>>m; for (int i=1; i<=n; i++) { cin>>c[i]>>p[i]; for (int j=1; j<=p[i]; j++) cin>>w[i][j]; } memset(f,0xaf,sizeof(f)); int ans=f[0][0][0]/2; for (int k=0; k<=m; k++) f[0][0][k]=0; for (int i=1; i<=n; i++) { for (int j=0; j<=p[i]; j++) { for (int k=m; k>=0; k--) { if ((k-c[i]>=0)&&(f[i][j][k]=0)&&(f[i][j][k]ans)||((f[i][j][k]==ans)&&(k