
本蒟蒻的代码:
#include <iostream>
using namespace std;
const int N = 5e2 + 10;
int t,n,t1[N],t2[N],w[N],f[N][N][N],ans;
int main()
{
ios::sync_with_stdio(0);
cin >> t >> n;
for(int i = 1;i <= n;i ++)
cin >> t1[i] >> t2[i] >> w[i];
for(int i = n;i >= 1;i --)
for(int j = t;j >= 1;j --)
for(int k = t;k >= 1;k --)
{
f[i][j][k] = f[i + 1][j][k];
if (j <= t1[i]) f[i][j][k] = max(f[i][j][k],f[i + 1][t2[i]][k] + w[i]);
if (k <= t1[i]) f[i][j][k] = max(f[i][j][k],f[i + 1][j][t2[i]] + w[i]);
ans = max(ans,f[i][j][k]);
}
cout << ans << endl;
return 0;
}