#include<bits/stdc++.h>
using namespace std;
#define ll int
#define ri register ll
struct JUNK{
ll t,h,f;
}junk[110];
ll d,g,dp[101][101];
inline bool cmp(JUNK x,JUNK y){
if(x.t==y.t){
return x.h>y.h;
}
return x.t<y.t;
}
signed main(int argv,char**argc) {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>d>>g;
for(ri z=1;z<=g;z++){
cin>>junk[z].t>>junk[z].f>>junk[z].h;
}
sort(junk+1,junk+g+1,cmp);
junk[0].t=junk[0].h=junk[0].f=0;
dp[0][0]=10;
for(ri z=0;z<g;z++){
for(ri y=0;y<=d;y++){
if(dp[z][y]<0)continue;
if(y+junk[z+1].h>=d&&dp[z][y]+junk[z].t>=junk[z+1].t){
cout<<junk[z+1].t;
return 0;
}
if(dp[z][y]+junk[z].t>=junk[z+1].t){
dp[z+1][y+junk[z+1].h]=dp[z][y]+junk[z].t-junk[z+1].t;
dp[z+1][y]=max(dp[z+1][y],dp[z][y]+junk[z].t-junk[z+1].t+junk[z+1].f);
}
}
}
ll ans=10;
for(ri z=1;z<=g;z++){
if(ans<junk[z].t){
cout<<ans;
return 0;
}
ans+=junk[z].f;
}
cout<<ans;
return 0;
}
想破脑袋也没想出哪里错了
还请各位大佬指点