为啥04年怎麽简单??
2025-08-19 09:12:17
发布于:北京
1阅读
0回复
0点赞
#include <iostream>
#include <vector>
using namespace std;
int minRemainingSpace(int V, vector<int>& items) {
vector<bool> dp(V + 1, false);
dp[0] = true; // 容量为0时总是可以达到
for (int item : items) {
for (int j = V; j >= item; --j) {
if (dp[j - item]) {
dp[j] = true;
}
}
}
for (int j = V; j >= 0; --j) {
if (dp[j]) {
return V - j;
}
}
return V;
}
int main() {
int V, n;
cin >> V >> n;
vector<int> items(n);
for (int i = 0; i < n; ++i) {
cin >> items[i];
}
cout << minRemainingSpace(V, items) << endl;
return 0;
}
这里空空如也
有帮助,赞一个