// UVa 10130 - SuperSale #include <iostream> #include <string.h> using namespace std; int main() { int t; for (cin >> t; t; t--) { int n; cin >> n; int T[31]; memset(T, 0, sizeof(T)); for (int i = 0; i < n; i++) { int p, w; cin >> p >> w; for (int j = 30 - w; j >= 0; j--) T[j + w] = max(T[j + w], T[j] + p); } cin >> n; int sol = 0; for (int i = 0; i < n; i++) { int mw; cin >> mw; sol += T[mw]; } cout << sol << endl; } return 0; }
No comments:
Post a Comment