#P14651. [IATI2016]Biathlon
[IATI2016]Biathlon
题目描述
Piggy 决定组织一场冬季两项比赛,参赛者需要参加两个项目。她邀请了 名选手,每名选手具有如下特征:
- 每名选手在两个项目中的速度分别为 和 。
- 选手在各自项目中的速度始终保持不变。
- 选手在第一个项目中用时 所走过的距离为 ;在第二个项目中用时 所走过的距离为 。
- 若某名选手两个项目总用时在所有选手中唯一最小(即严格小于其他所有选手),则该选手获胜。
作为组织者,Piggy 可以任意选择两个项目的距离 和 (非负实数)。她现在想知道,哪些选手是可能的获胜者,也就是说,是否存在某组 和 使得该选手获胜。
请编写程序 biathlon,求出哪些选手有可能获胜。
输入格式
第一行包含一个整数 。
接下来 行,每行包含两个正整数 和 ,表示第 名选手()在两个项目中的速度。
输出格式
输出一行,按升序输出所有可能获胜的选手编号,编号之间用空格隔开。选手编号从 开始。
如果没有任何选手可能获胜,则输出单个整数 -1。
数据范围
- 子任务 1(20 分):,
- 子任务 2(40 分):,
- 子任务 3(40 分):,
样例 1
输入
4
1 4
2 2
4 1
3 3
输出
0 2 3
说明
所有可能获胜的选手下标为:0、2 和 3。
- 下标为
0的选手可以在例如 、 时获胜; - 下标为
2的选手可以在例如 、 时获胜; - 下标为
3的选手可以在某些距离 、 时获胜。
下标为 1 的选手无法获胜:他总会被下标为 3 的选手击败。
样例 2
输入
3
3 3
3 3
2 2
输出
-1
说明
只有选手 0 和 1 可能取得最小总时间,但二者都不是唯一最小,因此正确输出为 -1。