解题思路:
注意事项:
参考代码:
#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 人评分
C语言训练-素数问题 (C语言代码)浏览:1662 |
【计算两点间的距离】 (C语言代码)浏览:884 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:277 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:772 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:779 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:648 |
星期判断机 (C语言代码)浏览:860 |
输出九九乘法表 (C语言代码)浏览:1068 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:770 |
C语言程序设计教程(第三版)课后习题10.7 (用指针求解)浏览:1481 |