2 条题解
-
1sumiaoheng LV 8 @ 2023-5-19 19:17:49
👍
#include<iostream> using namespace std; int n, v; int t[35]; int dp[40000]; int main() { cin >> n >> v; for(int i = 1;i <= n;i++) cin >> t[i]; for(int i = 1;i <= n;i++) { for(int j = v;j >= t[i];j--) { dp[j] = max(dp[j],dp[j - t[i]] + t[i]); } } cout << v - dp[v] << endl; return 0; }
-
02023-9-3 12:06:14@
#include <iostream> using namespace std; const int maxn=1e6+10; int w[maxn],dp[maxn]; int main(){ int n,v;cin>>n>>v; for(int i=1;i<=n;i++)cin>>w[i]; for(int i=1;i<=n;i++){ for(int j=v;j>=w[i];j--){ dp[j]=max(dp[j],dp[j-w[i]]+w[i]); } } cout<<v-dp[v]<<endl; return 0; }
- 1
信息
- ID
- 652
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 124
- 已通过
- 30
- 上传者