#include <iostream> #include <vector> using namespace std; int main() { int T;//number of test cin >> T; for(int x = 0; x < T; x++) { int n, bot, top; cin >> n >> bot >> top ; if (n < 1 || n > 10) { cout << "input n error!" << endl; break; } if (top < 0 || top > 10000) { cout << "input top error!" << endl; break; } int c[10][101], v[10][101]; int m[10]; for (int s = 0; s < n; s++) { cin >> m[s]; for (int t = 0; t < m[s]; t++) { cin >> c[s][t] >> v[s][t]; } } int maxs = 0; int consum; for (int a = 0; a < n; a++) { vector<int> f(top, 0); consum = 0; for (int i = 0; i < m[a]; ++i) { for (int j = top - 1; j >= bot; --j) { if (c[a][i] <=j) { f[j] = max(f[j], f[j - c[a][i]] + v[a][i]); } } if (maxs < f[top - 1]) { maxs = f[top - 1]; consum += c[a][i]; } } } cout <<consum<<" "<< maxs << endl; } return 0; }