提交时间:2024-05-23 21:36:58

运行 ID: 148390

#include <bits/stdc++.h> using namespace std; int num[1001][1001]; int maxm; int n, V, M; int main() { cin >> V >> M >> n; M/=10; for(int i = 1; i<=n; i++) { int v, m; cin >> v >> m; m/=10; for(int j = V; j>=v; j--) { for(int k = M; k>=m; k--) { if(num[j][k]==num[j-v][k-m]+1) { maxm=max(maxm, k-m); continue; } num[j][k]=max(num[j][k], num[j-v][k-m]+1); if(num[j][k]==num[j-v][k-m]+1) { maxm=k-m; } } } } cout << num[V][M] << " " << maxm*10 << endl; return 0; }