P17031 [NWERC 2020] 飞行碰撞 / Flight Collision
题目背景
译自 [Northwestern Europe Regional Contest (NWERC) 2020](http://2020.nwerc.eu)。
题目描述
**Icelandic Corporation for Parcel Circulation** 是冰岛与世界其他地区之间运输货物的主要承运商。他们最新的创新是一条连接欧洲大陆的无人机航线,许多无人机会沿着同一条路线来回飞行。
这些无人机配备了精密的系统,使得当两架无人机彼此接近时,它们能够进行规避机动。不幸的是,一个软件故障导致这个系统失效了,现在所有无人机都沿着航线飞行,无法避免彼此之间的碰撞。
在本题中,无人机被视为沿一条无限长直线以恒定速度运动的点。每当两架无人机位于同一位置时,它们就会发生碰撞,离开飞行路线并坠入大西洋。保证无人机的飞行计划满足:任何时刻都不会有三架或更多无人机在同一位置发生碰撞。
你知道每架无人机当前的位置以及它们的速度。你的任务是评估系统故障造成的损失,找出哪些无人机会一直飞下去而不会坠毁。
输入格式
输入包括:
- 第一行包含一个整数 $n$($1 \le n \le 10^5$),表示无人机数量。无人机编号为 $1$ 到 $n$。
- 接下来 $n$ 行,第 $i$ 行包含两个整数 $x_i$ 和 $v_i$($-10^9 \le x_i,v_i \le 10^9$),分别表示第 $i$ 架无人机在无限直线上的当前位置和速度。
无人机按 $x$ 坐标递增的顺序给出,并且任意两架无人机当前都不在同一位置,即对每个 $i$ 都有 $x_i < x_{i+1}$。你可以假设永远不会出现三架或更多无人机参与同一次碰撞的情况。
输出格式
输出永远不会坠毁的无人机数量,随后输出这些无人机的编号,编号按从小到大的顺序排列。
说明/提示
【数据规模与约定】
- $1 \le n \le 10^5$。
- $-10^9 \le x_i,v_i \le 10^9$。
- 输入按 $x_i$ 递增给出,且 $x_i < x_{i+1}$。
- 保证不会出现三架或更多无人机在同一地点同时碰撞。