https://www.luogu.com.cn/record/209635328
其代码:(其他的自己看吧)
#include<bits/stdc++.h>
using namespace std;
int a[1000010],b[1000010],c[1000010],dp[40010];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>a[i]>>b[i]>>c[i];
}
if(n==92&&m==27767){
cout<<1056022;
return 0;
}if(n==65&&m==36550){
cout<<1227234;
return 0;
}
if(n==93&&m==30046){
cout<<2149464;
return 0;
}
if(n==100&&m==40000&&a[1]==23){
cout<<1395060;
return 0;
}
if(n==100&&m==40000){
cout<<1503839;
return 0;
}
for(int i=1;i<=n;i++){
for(int k=m;k>0;k--){
for(int j=0;j<=c[i];j++){
if(k>=j*b[i]){
dp[k]=max(dp[k],dp[k-j*b[i]]+j*a[i]);
}
}
}
}
cout<<dp[m];
return 0;
}