voidsolve(){ cin >> n >> m; for (int i = 1; i <= n; i++) { cin >> s[i]; for (int j = 1; j <= s[i]; j++) cin >> v[i][j] >> w[i][j]; }
for (int i = 1; i <= n; i++) { for (int j = 0; j <= m; j++) for (int k = 0; k <= s[i]; k++) { if (j >= v[i][k]) dp[i][j] = max(dp[i][j], dp[i - 1][j - v[i][k]] + w[i][k]); } }