for里面:
```cpp
cin>>v[i]>>w[i]>>c;
sum=max(sum,c);
b[c]++;
f[c][b[c]]=i;
```
by jizhiyinnitaimei @ 2023-08-09 17:31:50
@[jizhiyinnitaimei](/user/938045) 那后面也得改
有没有微调一下的
by Albert_Einstein_ @ 2023-08-09 17:38:07
```cpp
#include<bits/stdc++.h>
using namespace std;
int m,n,sum,c;
int f[205][205],dp[100005],v[100005],w[100005],b[100005];
int main(){
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>v[i]>>w[i]>>c;
sum=max(sum,c);
b[c]++;
f[c][b[c]]=i;
}
for(int i=1;i<=sum;i++){
for(int j=m;j>=0;j--){
for(int k=1;k<=b[i];k++){
if(j>=v[f[i][k]]){
dp[j]=max(dp[j],dp[j-v[f[i][k]]]+w[f[i][k]]);
}
}
}
}
cout<<dp[m];
return 0;
}
```
by jizhiyinnitaimei @ 2023-08-09 18:03:08