#1210. 救援任务

救援任务

题目描述

某救援基地只有一条任务通道,同一时刻最多只能有一支救援队使用这条通道。

现在共有 NN 支救援队等待通过。对于第 ii 支救援队:

  • 它会在 AiA_i 时刻到达基地;
  • 到达后最多可以等待 WiW_i 个单位时间;
  • 使用通道需要连续占用 CiC_i 个单位时间。

因此,第 ii 支救援队最早可以在 AiA_i 时刻开始使用通道,最晚必须在 Ai+WiA_i+W_i 时刻开始使用通道。

当一支救援队使用完通道后,下一支救援队可以立即开始使用。两支救援队使用通道的时间不能重叠。

救援队通过通道的顺序可以任意安排。

请判断是否存在一种安排方案,使得所有救援队都能在各自允许的时间内开始使用通道。

输入格式

输入包含多组测试数据。

第一行输入一个整数 TT,表示测试数据的组数。

对于每组测试数据:

第一行输入一个整数 NN,表示救援队的数量。

接下来 NN 行,每行输入三个整数 Ai,Wi,CiA_i,W_i,C_i,分别表示第 ii 支救援队的到达时间、最长等待时间以及使用通道所需的时间。

输出格式

对于每组测试数据:

  • 如果存在一种合法安排,使所有救援队都能顺利通过,输出 YES
  • 否则输出 NO

样例

2
3
0 20 5
4 3 4
0 1 6
3
0 3 5
2 2 5
4 2 5
YES
NO

样例解释

对于第一组数据,可以按照以下顺序安排:

  • 33 支救援队在 00 时刻开始使用通道,在 66 时刻结束;
  • 22 支救援队在 66 时刻开始使用通道,在 1010 时刻结束;
  • 11 支救援队在 1010 时刻开始使用通道,在 1515 时刻结束。

33 支救援队最晚需要在 11 时刻开始,第 22 支救援队最晚需要在 77 时刻开始,第 11 支救援队最晚需要在 2020 时刻开始。上述安排均满足要求,因此输出 YES

对于第二组数据,无论按照什么顺序安排,都会至少有一支救援队超过允许的最晚开始时间,因此输出 NO

数据范围

对于 3030% 的数据,N2N\leq 2

对于 100100% 的数据,1T101\leq T\leq 101N101\leq N\leq 100Ai,Wi,Ci1050\leq A_i,W_i,C_i\leq 10^5