Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
142503 | 梁乃元 | 简单背包问题2 | C++ | 通过 | 100 | 2 MS | 2680 KB | 490 | 2024-04-08 13:35:39 |
# include <bits/stdc++.h> using namespace std ; int f [33] [20002] , a [33] ; int main ( ) { int v , n ; cin >> v >> n ; for( int i = 1 ; i <= n ; i ++ ) { cin >> a [i] ; } for ( int i = 1 ; i <= n ; i ++ ) { for ( int j = 1 ; j <= v ; j ++ ) { if ( j < a [i] ) { f [i] [j] = f [i - 1] [j] ; } else { f [i] [j] = max ( f [i - 1] [j] , f [i - 1] [j - a [i]] + a [i] ) ; } } } cout << v - f [n] [v] << endl ; return 0 ; }