QOJ.ac

QOJ

时间限制: 3.0 s 内存限制: 512 MB 总分: 100

#10042. 调度

统计

你的老板让你为他的会议安排一个有效的日程。他有 $n$ 场会议,其中第 $i$ 场会议必须在时间区间 $[l_i, r_i]$ 内开始并结束,时间以小时为单位。每场会议恰好持续一小时,显然你的老板不能同时参加两场会议。

作为一名竞赛程序员,你已经无数次解决过这种经典的调度问题,而这一次,你终于意识到它是完全不切实际的。一个人怎么可能在没有时间往返于不同地点、也没有任何休息的情况下参加超过十万场会议呢?每场会议都恰好持续一小时是不可能的——根据经验——而且肯定会有会议因为有人迟到而推迟开始。

这些根深蒂固的哲学问题可能是人类面临的大问题,但既然你不必亲自参加这些会议,你根本不在乎解决所有这些问题。然而,给你的老板留下深刻印象对你来说肯定是有价值的,所以你尝试至少稍微改进一下这个日程。

请找到任意一个满足每两场会议之间至少间隔一小时的日程安排,或者报告不存在这样的安排。这肯定只是对经典问题的一个微不足道的改动,对吧?

输入格式

每个测试包含多个测试用例。输入的第一行包含一个整数 $t$ ($1 \le t \le 10^5$) —— 测试用例的数量。接下来是各测试用例的描述。

每个测试用例的第一行包含一个整数 $n$ ($1 \le n \le 2 \cdot 10^5$) —— 会议的数量。

接下来的 $n$ 行,每行包含两个整数 $l_i$ 和 $r_i$ ($1 \le l_i < r_i \le 10^6$) —— 第 $i$ 场会议必须开始和结束的时间区间。

所有测试用例的 $n$ 之和不超过 $2 \cdot 10^5$。

输出格式

如果不存在有效的日程安排,则输出 $-1$。否则,输出 $n$ 个整数 $a_i$,表示第 $i$ 场会议的开始时间。

样例

输入 1

4
3
1 3
1 7
2 4
2
1 2
2 3
4
1 5
2 6
3 4
4 7
2
1 5
2 3

输出 1

1 5 3
-1
-1
4 2

说明

在第一个测试用例中,第一场会议在第 1 小时开始,持续一小时,直到第 2 小时开始。之后,你的老板休息一小时,直到第 3 小时开始参加第三场会议,持续到第 4 小时。然后,他再休息一小时,直到第 5 小时开始参加第二场会议,持续到第 6 小时。

注意,第三场会议不可能在第 4 小时开始,因为这样该会议会在第 5 小时结束。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.