解题思路:
注意事项:
参考代码:
#include <iostream> #include <algorithm> #include <cstring> using namespace std; int dp[20001]; int v[31]; int main() { int n, i, j, m; while (cin >> n >> m) { memset(dp, 0, sizeof(dp)); for (i = 0; i < m; i++) { cin >> v[i]; for (j = n; j >= v[i]; --j) { dp[j] = max(dp[j], dp[j - v[i]] + v[i]); } } cout << n - dp[n] << endl; } return 0; }
0.0分
0 人评分