题解
2024-06-23 08:53:03
发布于:上海
14阅读
1回复
0点赞
#include <iostream>
#include <vector>
#include <climits>
using namespace std;
int main() {
int n, w;
cin >> n >> w;
vector<int> coins(n);
for (int i = 0; i < n; ++i) {
cin >> coins[i];
}
vector<int> dp(w + 1, INT_MAX);
dp[0] = 0;
for (int coin : coins) {
for (int j = coin; j <= w; ++j) {
if (dp[j - coin] != INT_MAX) {
dp[j] = min(dp[j], dp[j - coin] + 1);
}
}
}
cout << dp[w] << endl;
return 0;
}
全部评论 1
菜
2024-07-08 来自 上海
0
有帮助,赞一个