提出 #71325129
ソースコード 拡げる
#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
#define int long long
#define ALL(x) (x).begin(), (x).end()
#define MAX(x) *max_element(ALL(x))
#define MIN(x) *min_element(ALL(x))
typedef pair<int, int> PI;
typedef pair<int, pair<int, int>> PII;
static const int INF = 1010000000000000017LL;
static const double eps = 1e-12;
static const double pi = 3.14159265358979323846;
static const int dx[4] = {1, -1, 0, 0};
static const int dy[4] = {0, 0, 1, -1};
static const int ddx[8] = {1, -1, 0, 0, 1, 1, -1, -1};
static const int ddy[8] = {0, 0, 1, -1, 1, -1, 1, -1};
template <class T>
inline bool chmin(T& a, T b) {
if (a > b) {
a = b;
return true;
}
return false;
}
template <class T>
inline bool chmax(T& a, T b) {
if (a < b) {
a = b;
return true;
}
return false;
}
int T;
void solve() {
int N, H;
cin >> N >> H;
vector<tuple<int, int, int>> X;
for (int i = 0; i < N; ++i) {
int x, l, u;
cin >> x >> l >> u;
X.push_back({x, l, u});
}
int pre_t = 0, pre_l = H, pre_u = H;
for (int i = 0; i < N; ++i) {
auto [t, l, u] = X[i];
// cout << t << " " << l << " " << u << endl;
// cout << pre_t << " " << pre_l << " " << pre_u << endl;
// l について
int l_ma = pre_l + t - pre_t;
int l_mi = pre_l - (t - pre_t);
chmin(l_ma, l);
chmax(l_mi, u);
// u について
int u_ma = pre_u + t - pre_t;
int u_mi = pre_u - (t - pre_t);
chmin(u_ma, l);
chmax(u_mi, u);
pre_l = min(l_mi, u_mi);
pre_u = max(l_ma, u_ma);
// cout << l_ma << " " << l_mi << endl;
// cout << u_ma << " " << u_mi << endl;
// cout << pre_l << " " << pre_u << endl;
if (!(pre_l >= l && pre_l <= u && pre_u >= l && pre_u <= u)) {
cout << "No" << endl;
return;
}
pre_t = t;
}
cout << "Yes" << endl;
}
signed main() {
cin >> T;
while (T--) {
solve();
}
}
提出情報
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
0 / 300 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00_sample_00.txt |
| All |
00_sample_00.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 01_small_07.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 02_random_11.txt, 02_random_12.txt, 02_random_13.txt, 02_random_14.txt, 02_random_15.txt, 02_random_16.txt, 02_random_17.txt, 02_random_18.txt, 02_random_19.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_00.txt |
AC |
1 ms |
3584 KiB |
| 01_small_00.txt |
AC |
135 ms |
3592 KiB |
| 01_small_01.txt |
WA |
103 ms |
3460 KiB |
| 01_small_02.txt |
WA |
92 ms |
3428 KiB |
| 01_small_03.txt |
WA |
84 ms |
3572 KiB |
| 01_small_04.txt |
WA |
76 ms |
3556 KiB |
| 01_small_05.txt |
WA |
72 ms |
3576 KiB |
| 01_small_06.txt |
AC |
70 ms |
3564 KiB |
| 01_small_07.txt |
AC |
69 ms |
3592 KiB |
| 02_random_00.txt |
AC |
56 ms |
6560 KiB |
| 02_random_01.txt |
AC |
69 ms |
6584 KiB |
| 02_random_02.txt |
AC |
70 ms |
6576 KiB |
| 02_random_03.txt |
AC |
62 ms |
6516 KiB |
| 02_random_04.txt |
AC |
70 ms |
6532 KiB |
| 02_random_05.txt |
AC |
69 ms |
6556 KiB |
| 02_random_06.txt |
AC |
56 ms |
6584 KiB |
| 02_random_07.txt |
AC |
70 ms |
6588 KiB |
| 02_random_08.txt |
AC |
70 ms |
6592 KiB |
| 02_random_09.txt |
AC |
37 ms |
5064 KiB |
| 02_random_10.txt |
AC |
70 ms |
6620 KiB |
| 02_random_11.txt |
AC |
69 ms |
6532 KiB |
| 02_random_12.txt |
AC |
70 ms |
6612 KiB |
| 02_random_13.txt |
AC |
70 ms |
6612 KiB |
| 02_random_14.txt |
AC |
70 ms |
6588 KiB |
| 02_random_15.txt |
WA |
70 ms |
6560 KiB |
| 02_random_16.txt |
AC |
70 ms |
6588 KiB |
| 02_random_17.txt |
AC |
70 ms |
6536 KiB |
| 02_random_18.txt |
AC |
70 ms |
6616 KiB |
| 02_random_19.txt |
AC |
70 ms |
6520 KiB |