CF1334A Level Statistics
题目描述
Polycarp 最近在这个很酷的新游戏 Berlio Maker 85 中创建了一个新关卡,并将其上传到了网上。现在,来自世界各地的玩家都可以尝试他的关卡。
这个游戏中的每个关卡都有两个统计数据:游玩次数和通关次数。当一名玩家尝试该关卡时,游玩次数会增加 $1$。如果他成功通关,那么通关次数也会增加 $1$。注意,这两个统计数据会同时更新(也就是说,如果玩家成功通关,那么游玩次数和通关次数会同时增加)。
Polycarp 对他的关卡非常兴奋,所以他不断查看统计数据,想知道他的关卡到底有多难。
他总共查看了 $n$ 次统计数据,并记录下了 $n$ 对整数——$(p_1, c_1), (p_2, c_2), \dots, (p_n, c_n)$,其中 $p_i$ 表示第 $i$ 次查看时的游玩次数,$c_i$ 表示同一时刻的通关次数。统计数据是按时间顺序给出的(也就是说,给出的顺序与 Polycarp 记录的顺序完全一致)。
在两次连续查看之间,可能有很多玩家(也可能没有)尝试了该关卡。
最后,Polycarp 想知道他记录的数据是否有误,所有的记录是否都是正确的。如果存在这样一种游玩(和通关)次数的变化序列,使得统计数据正好与 Polycarp 记录的一致,那么他就认为自己的记录是正确的。
请帮助他检查这些记录是否正确。
为了方便,你需要回答多个独立的测试用例。
输入格式
第一行包含一个整数 $T$($1 \le T \le 500$),表示测试用例的数量。
每个测试用例的第一行包含一个整数 $n$($1 \le n \le 100$),表示 Polycarp 查看统计数据的次数。
接下来的 $n$ 行,每行包含两个整数 $p_i$ 和 $c_i$($0 \le p_i, c_i \le 1000$),分别表示第 $i$ 次查看时的游玩次数和通关次数。
注意,统计数据是按时间顺序给出的。
输出格式
对于每个测试用例,输出一行。
如果存在一种游玩和通关次数的变化序列,使得统计数据正好与 Polycarp 记录的一致,则输出 "YES"。
否则,输出 "NO"。
你可以用任意大小写输出每个字母。
说明/提示
在第一个测试用例中,第三次查看时通关次数增加了,但游玩次数没有增加,这是不可能发生的。
第二个测试用例是一个很好的“超级专家”关卡的例子。
在第三个测试用例中,游玩次数减少了,这是不可能的。
第四个测试用例可能是一个自动关卡,只需要跳过一个尖刺。
在第五个测试用例中,通关次数减少了,这也是不可能的。
第六个测试用例没有人想玩,Polycarp 的妈妈尝试了一下,但她没有通关。
由 ChatGPT 4.1 翻译