提交时间:2024-05-18 14:46:32

运行 ID: 147351

#include<iostream> using namespace std; const int N = 1e2 + 10, T = 1e3 + 10; int tn, vn, n, g[N], t[N], v[N], f[T][N]; int main(){ cin >> tn >> vn >> n; for(int i = 0; i < n; i++){ cin >> g[i] >> t[i] >> v[i]; } for(int k = 0; k < n; k++){ for(int i = tn; i >= 0; i--){ for(int j = vn; j >= 0; j--){ if(i >= t[k] && j >= v[k]){ f[i][j] = max(f[i][j], f[i-t[k]][j-v[k]] + g[k]); } } } } cout << f[tn][vn]; return 0; }