#include <iostream>
#include <vector>
using namespace std;
int a[40];
int dp[20010];
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 = v; j >= a[i]; j--) {
dp[j] = max(dp[j], dp[j - a[i]] + a[i]);
}
}
cout << v - dp[v];
return 0;
}
共 7 条回复
输入方式已改回,数组已重造,我没有一键重测的按钮,所以你可以继续@站长来重新评测。 @CPP
@Wind_Rises 但是例如数据 1 只有 个数啊。
数据输入方式确实反了,已修改题目中输入顺序要求。 @CPP
@Wind_Rises
数据的锅!!!!
搞反了。即使搞反了也没有 个数。
是数据的问题,看了其他人的代码,发现在输入的地方都卡住了,由于他们是在线处理,所以不知道为什么能过。
@root