1 solutions

  • -6
    @ 2024-6-9 22:14:30
    #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