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 翻译