/* -*- coding: utf-8 -*- * * 139.cc: No.139 交差点 - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ /* typedef */ /* global variables */ /* subroutines */ inline bool is_red(int t, int ti) { return ((t / ti) & 1) != 0; } /* main */ int main() { int n, l; cin >> n >> l; int wsum = 0; for (int i = 0; i < n; i++) { int xi, wi, ti; cin >> xi >> wi >> ti; int t = xi + wsum; if (is_red(t, ti) || is_red(t + wi - 1, ti)) { int ti2 = ti * 2; wsum += (t + ti2 - 1) / ti2 * ti2 - t; } } printf("%d\n", l + wsum); return 0; }