Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
159754 | 梁乃元 | 货币系统 | C++ | 通过 | 100 | 14 MS | 348 KB | 594 | 2024-07-30 22:27:09 |
# include <bits/stdc++.h> using namespace std ; int t , amount , n , d ; int f [200] , dp [25100] ; int main ( ) { int t ; for ( cin >> t ; t ; t -- ) { memset ( dp , 0 , sizeof ( dp ) ) ; int n , ans = 0 ; cin >> n ; for ( int i = 1 ; i <= n ; i ++ ) { cin >> f [i] ; } sort ( f + 1 , f + 1 + n ) ; dp [0] = 1 ; for ( int i = 1 ; i <= n ; i ++ ) { if ( dp [f [i]] == 0 ) { ans ++ ; } for ( int j = f [i] ; j <= f [n] ; j ++ ) { dp [j] = dp [j] | dp [j - f [i]] ; } } cout << ans << endl ; } return 0 ; }