甚至样例都没过,求大佬们调一下(
#include<bits/stdc++.h>
using namespace std;
int w[1100],c[1100],dp[1100][1100],n,m,t,g[110][1100],b[110],k;
int main() {
cin>>m>>n;
for(int i=1;i<=n;i++) {
cin>>c[i]>>w[i]>>t;
k=max(k,t);
b[t]++;
g[t][b[t]]=i;
}
for(int i=1;i<=n;i++) {
for(int j=m;j>=0;j--) {
for(int p=1;p<=b[i];p++) {
if(j>=c[g[i][p]]) {
dp[i][j]=max(dp[i-1][j],dp[i-1][j-c[g[i][p]]]+w[g[i][p]]);
}
}
}
}
cout<<dp[k][m];
return 0;
}