CF920B Tea Queue
题目描述
最近,有 $n$ 名来自 S 市的学生搬到 P 市参加一个编程集训营。
他们乘火车到了那里。晚上,火车上的所有学生决定喝点茶。显然,不能有两个人同时使用同一个茶壶,所以学生们需要排队接茶。
第 $i$ 个学生会在第 $l_i$ 秒时到队尾。如果多个学生同时到达队尾,则编号较大的学生排在编号较小的学生之后。队列中的学生按如下方式行动:如果他是队首,没有人站在他前面,他将用茶壶整整一秒并带着茶离队;否则,他需要等待排在他前面的人都拿到茶。如果到了第 $r_i$ 秒开始时,学生 $i$ 前面还有人,他就会在没有喝到茶的情况下离开队列。
请你为每位学生确定他能用茶壶接到茶的确切秒数(如果他最终真的接到了茶)。
输入格式
第一行包含一个整数 $t$ —— 测试用例的数量($1 \leq t \leq 1000$)。
接下来有 $t$ 组测试数据。每组测试数据的第一行包含一个整数 $n$($1 \leq n \leq 1000$)——学生人数。
接下来的 $n$ 行,每行包含两个整数 $l_i$ 与 $r_i$($1 \leq l_i \leq r_i \leq 5000$)——第 $i$ 个学生到达队尾的秒数,以及若到达 $r_i$ 秒开始他还没拿到茶就会离队的秒数。
保证每组测试数据中对所有 $i\ (2 \leq i \leq n)$ 都有 $l_{i-1} \leq l_i$。
所有测试数据中 $n$ 的总和不超过 $1000$。
注意,在 Hack 数据中要求 $t=1$。
输出格式
对于每组测试用例,输出 $n$ 个整数,第 $i$ 个表示第 $i$ 个学生接到茶的秒数。如果他没能接到茶则输出 $0$。
说明/提示
样例包含 $2$ 组测试:
1. 第 $1$ 秒时,学生 $1$ 和 $2$ 都来了,学生 $1$ 先获得茶,学生 $2$ 在第 $2$ 秒获得茶。
2. 第 $1$ 秒时,学生 $1$ 和 $2$ 都来了,学生 $1$ 获得茶,学生 $2$ 离队未获得茶。第 $2$ 秒时,学生 $3$ 到达并获得茶。
由 ChatGPT 5 翻译