//実験コード #include using namespace std; int main(void) { int n,m; cin >> n >> m; vector a(n); vector b(n); vector p(n); for(int i=0;i> a[i] >> b[i] >> p[i]; } vector> memo(1<(m+1,0)); vector> dp(1<(m+1,0)); for(int i=0;i<(1<>k)&1){ if(dp[i-(1<=dp[i][j]){ memo[i][j]=k; } dp[i][j]=max(dp[i-(1<>k)&1){ if((dp[i-(1<=dp[i][j]){ memo[i][j]=k; } dp[i][j]=max((dp[i-(1<