5 条题解

  • 1
    @ 2025-9-23 21:54:49
    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    int c,w,m,n,f[2005],p;
    signed main(){
    	cin>>n>>m;
    	for(int i=1;i<=n;i++){
    		cin>>c>>w>>p;
    		if(p==-1) p=1;
    		if(p==0) p=100005; 
    		for(int j=m;j>=c;j--)
    			for(int k=1;k<=p&&k*c<=j;k++)
    				f[j]=max(f[j],f[j-k*c]+k*w);
    	}
    	cout<<f[m]; 
    } 
    
    

    信息

    ID
    3275
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    162
    已通过
    64
    上传者