#include using namespace std; using ll = long long; #define FOR(i,a,b) for(ll i=(a);i<(b);++i) #define ALL(v) (v).begin(), (v).end() #define p(s) cout<<(s)<> N >> L; ll current = 0; ll t = 0; FOR(i, 0, N){ ll X, W, T; cin >> X >> W >> T; t += X - current; current = X; // 今渡れる? ll t2 = t % (2*T); bool can_enter = false; if(0<=t2 && t2<=T){ can_enter = true; } bool can_pass = false; if(can_enter){ // 渡り終えられる? ll t3 = t + W; t3 = t3 % (2*T); if(0<=t3 && t3<=T){ can_pass = true; } } if(can_pass){ // 待たずに渡る } else{ ll wait_time = (2*T) - t % (2*T); t += wait_time; } t += W; current += W; } t += L-current; p(t); return 0; }