1 solutions
-
-6
#include<bits/stdc++.h> #define ll long long #define sz 1000005 using namespace std; int n,W; int v[sz],w[sz],m[sz]; int dp[sz]={}; int main(){ cin>>n>>W; for(int i=1;i<=n;i++) cin>>v[i]>>w[i]>>m[i]; for(int i=1;i<=n;i++) for(int k=1;m[i]>0;k<<=1){ int t=min(k,m[i]); for(int j=W;j>=w[i]*t;j--) dp[j]=max(dp[j],dp[j-w[i]*t]+t*v[i]); m[i]-=t; } cout<<dp[W]<<"\n"; return 0; }
军舰呆马
- 1
Information
- ID
- 1031
- Time
- 1000ms
- Memory
- 125MiB
- Difficulty
- 7
- Tags
- # Submissions
- 46
- Accepted
- 11
- Uploaded By