Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
147854 | 梁乃元 | 收服精灵 | C++ | 通过 | 100 | 0 MS | 256 KB | 688 | 2024-05-19 22:13:42 |
# 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 ; }