#P1266. 空调
空调
题目描述
吉尔东拥有一个烤肉餐厅。餐厅的客人很多,所以很多人都喜欢在访问餐厅之前预约。
吉尔东试图满足顾客的需求,甚至记住了所有顾客喜欢的温度范围!查看预约列表,他希望通过控制餐厅的温度来满足所有顾客。
餐馆有一台空调,有3种状态:关闭、加热和冷却。当关闭时,餐馆的温度保持不变。当加热时,温度每分钟提高1度。最后,当冷却时,温度每分钟下降1度。吉尔东可以在任何整数分钟内多次改变状态。初始时,空调是关闭状态。
每个顾客都有三个值: ——第 个顾客访问餐厅的时间(以分钟为单位), ——他们偏好的温度范围的下限,和 ——偏好的温度范围的上限。
顾客满意的条件是他们访问餐厅时的温度在他们偏好的范围内。形式上,第 个顾客满意的条件是在第 分钟内的温度在 和 (含)之间。
给定初始温度、预约顾客的访问时间列表和他们的偏好温度范围,你要帮助他判断是否可以使所有顾客都满意。
输入格式
每个测试点包含一个或多个测试用例。第一行为测试用例的数量 ( )。接下来是测试用例的描述。
每个测试用例的第一行包含两个整数 和 ( , ),其中 是预约顾客的数量, 是餐厅的初始温度。
接下来,有 行。第 行包含三个整数 , , 和 ( , ),其中 是第 个顾客访问的时间, 是他们偏好的温度范围的下限, 是偏好的温度范围的上限。偏好的温度范围是包含在内的。
顾客按照他们的访问时间的非递减顺序给出,当前时间是 。
输出格式
对于每个测试用例,如果可以满足所有顾客,则输出 “YES” 。否则,输出 "NO"。
样例 #1
样例输入 #1
4
3 0
5 1 2
7 3 5
10 -1 0
2 12
5 7 10
10 16 20
3 -100
100 0 0
100 -50 50
200 100 100
1 100
99 -100 0
样例输出 #1
YES
NO
YES
NO
在第一个案例中,吉尔东可以通过以下方式控制空调使所有顾客满意:
在第 分钟,改变状态为加热(温度为 0)。
在第 分钟,改变状态为关闭(温度为 2)。
在第 分钟,改变状态为加热(温度为 2,第 个顾客满意)。
在第 分钟,改变状态为关闭(温度为 3)。
在第 分钟,改变状态为冷却(温度为 3,第 个顾客满意)。
在第 分钟,温度将为 0,这将满足最后一个顾客。
在第三个案例中,吉尔东可以在第 分钟改变状态为加热并保持不变。然后所有的顾客都会满意。注意,第 个顾客的访问时间等于第 个顾客的访问时间。
在第二和第四个案例中,吉尔东必须至少让一个顾客不满意。