CF1304C Air Conditioner

题目描述

吉尔东拥有一家烤肉餐厅。餐厅顾客众多,因此许多顾客喜欢提前预约。 吉尔东非常努力地满足顾客,甚至记住了所有顾客偏好的温度区间!他查看预约名单,希望通过调节餐厅的温度来让所有顾客满意。 餐厅有一个空调,具有三种状态:关闭、加热和制冷。当空调关闭时,餐厅温度保持不变;当加热时,温度每分钟上升 $1$;当制冷时,温度每分钟下降 $1$。吉尔东可以在任意整数分钟内随意切换空调状态。空调初始为关闭状态。 每位顾客有三个参数:$t_i$ —— 第 $i$ 位顾客到达餐厅的时间(以分钟为单位),$l_i$ —— 其偏好温度区间的下界,$h_i$ —— 其偏好温度区间的上界。 如果在顾客到达的那一刻,餐厅温度处于其偏好区间内,则该顾客满意。形式化地说,只有当第 $i$ 位顾客到达时餐厅温度在 $[l_i, h_i]$(包含端点)内时,该顾客才会满意。 给定初始温度、所有预约顾客的到达时间及其偏好温度区间,请你判断是否有可能让所有顾客都满意。

输入格式

每组测试数据包含一个或多个测试用例。第一行包含一个整数 $q$($1 \le q \le 500$),表示测试用例数量。接下来是每个测试用例的描述。 每个测试用例的第一行包含两个整数 $n$ 和 $m$($1 \le n \le 100$,$-10^9 \le m \le 10^9$),其中 $n$ 表示预约顾客数量,$m$ 表示餐厅的初始温度。 接下来的 $n$ 行,每行包含三个整数 $t_i$、$l_i$、$h_i$($1 \le t_i \le 10^9$,$-10^9 \le l_i \le h_i \le 10^9$),分别表示第 $i$ 位顾客的到达时间、其偏好温度区间的下界和上界。温度区间为闭区间。 所有顾客按到达时间非递减顺序给出,当前时间为 $0$。

输出格式

对于每个测试用例,若存在一种调节温度的方式使所有顾客都满意,输出 "YES";否则输出 "NO"。 输出时字母大小写均可。

说明/提示

在第一个样例中,吉尔东可以按如下方式调节空调以满足所有顾客: - 在第 $0$ 分钟,将空调切换为加热(温度为 $0$)。 - 在第 $2$ 分钟,将空调切换为关闭(温度为 $2$)。 - 在第 $5$ 分钟,将空调切换为加热(温度为 $2$,第 $1$ 位顾客满意)。 - 在第 $6$ 分钟,将空调切换为关闭(温度为 $3$)。 - 在第 $7$ 分钟,将空调切换为制冷(温度为 $3$,第 $2$ 位顾客满意)。 - 在第 $10$ 分钟,温度为 $0$,满足最后一位顾客。 在第三个样例中,吉尔东可以在第 $0$ 分钟将空调切换为加热,并保持该状态,则所有顾客都能满意。注意第 $1$ 位和第 $2$ 位顾客的到达时间相同。 在第二个和第四个样例中,吉尔东无法让所有顾客都满意。 由 ChatGPT 4.1 翻译