Subtask#1 通过,Subtask#0 全 WA
#include<iostream>
using namespace std;
long long m , n , a[2][60][32005] , w[60] , v[60] , z[60];
int main(){
cin >> m >> n;
for(int i=1;i<=n;i++){
cin >> w[i] >> v[i] >> z[i];v[i] *= w[i];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(w[i]>j)a[0][i][j] = a[0][i-1][j];
else if(z[i]>0) a[1][i][j] = a[1][z[i]][j-w[i]] + v[i] , a[0][i][j] = max(a[0][i][j],a[0][i-1][j-w[i]]+v[i]);
else a[0][i][j] = max(a[0][i][j],a[0][i-1][j-w[i]]+v[i]) , a[1][i][j] = a[0][i-1][j-w[i]] + v[i];
}
}
cout << max(a[0][n][m],a[1][n][m]);
return 0;
}