提交时间:2024-05-19 22:13:42

运行 ID: 147854

# include <bits/stdc++.h> using namespace std ; int a [1145] , b [1145] , s [1145] , k , n , m , maxn , maxm ; void dfs ( int cur , int n1 , int m1 , int cnt ) { if ( cur > k ) { if ( cnt == maxn ) { maxm = max ( maxm , m1 ) ; } if ( cnt > maxn ) { maxn = cnt ; maxm = m1 ; } return ; } if ( n1 - a [cur] >= 0 && m1 - b [cur] > 0 ) { dfs ( cur + 1 , n1 - a [cur] , m1 - b [cur] , cnt + 1 ) ; } dfs ( cur + 1 , n1 , m1 , cnt ) ; return ; } int main ( ) { cin >> n >> m >> k ; for ( int i = 1 ; i <= k ; i ++ ) { cin >> a [i] >> b [i] ; } dfs ( 1 , n , m , 0 ) ; cout << maxn << ' ' << maxm << endl ; return 0 ; }