Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
142526 | 梁乃元 | 货币面值 | C++ | 通过 | 100 | 0 MS | 292 KB | 627 | 2024-04-08 13:44:43 |
# include <bits/stdc++.h> using namespace std ; int n , mx ; int val [101] , dp [10001] ; int pk01 ( ) { memset ( dp , 0 , sizeof ( dp ) ) ; for ( int i = 1 ; i <= n ; i ++ ) { for ( int j = mx ; j >= val [i] ; j -- ) { dp [j] = max ( dp [j] , dp [j - val [i]] + val [i] ) ; } } for ( int i = 1 ; i <= mx ; i ++ ) { if ( dp [i] != i ) { return i ; } } } int main ( ) { while ( cin >> n ) { mx = 0 ; for ( int i = 1 ; i <= n ; i ++ ) { cin >> val [i] ; mx += val [i] ; } sort( val + 1 , val + n + 1 ) ; cout<< pk01 ( ) <<endl ; } return 0 ; }