AT_abc308_c [ABC308C] Standings
题目描述
有 $N$ 个人,编号为 $1$ 到 $N$,每个人都进行了若干次抛硬币实验。已知第 $i$ 个人正面朝上的次数为 $A_i$,反面朝上的次数为 $B_i$。
第 $i$ 个人的抛硬币**成功率**定义为 $ \displaystyle\frac{A_i}{A_i+B_i} $。请将 $1$ 到 $N$ 号人的编号按照成功率从高到低的顺序排列。如果有多个人的成功率相同,则在这些人中按编号从小到大的顺序排列。
输入格式
输入以如下格式从标准输入读入。
> $N$
> $A_1$ $B_1$
> $\vdots$
> $A_N$ $B_N$
输出格式
请按成功率从高到低的顺序输出 $1$ 到 $N$ 号人的编号,编号之间用空格分隔。若成功率相同,则按编号升序输出。
说明/提示
### 限制条件
- $2 \leq N \leq 2 \times 10^5$
- $0 \leq A_i, B_i \leq 10^9$
- $A_i + B_i \geq 1$
- 输入的所有数值均为整数
### 样例解释 1
第 $1$ 个人的成功率为 $0.25$,第 $2$ 个人的成功率为 $0.75$,第 $3$ 个人的成功率为 $0.5$。按成功率从高到低排序后,输出顺序如样例所示。
### 样例解释 2
第 $1$、$2$ 个人的成功率相同,因此需要按编号升序输出。
由 ChatGPT 4.1 翻译