#aBC308C. [ABC308C] Standings

[ABC308C] Standings

AT_abc308_c [ABC308C] Standings

题目描述

NN 个人,编号为 11NN,每个人都进行了若干次抛硬币实验。已知第 ii 个人正面朝上的次数为 AiA_i,反面朝上的次数为 BiB_i

ii 个人的抛硬币成功率定义为 AiAi+Bi \displaystyle\frac{A_i}{A_i+B_i} 。请将 11NN 号人的编号按照成功率从高到低的顺序排列。如果有多个人的成功率相同,则在这些人中按编号从小到大的顺序排列。

输入格式

输入以如下格式从标准输入读入。

NN
A1A_1 B1B_1
\vdots
ANA_N BNB_N

输出格式

请按成功率从高到低的顺序输出 11NN 号人的编号,编号之间用空格分隔。若成功率相同,则按编号升序输出。

输入输出样例 #1

输入 #1

3
1 3
3 1
2 2

输出 #1

2 3 1

输入输出样例 #2

输入 #2

2
1 3
2 6

输出 #2

1 2

输入输出样例 #3

输入 #3

4
999999999 1000000000
333333333 999999999
1000000000 999999997
999999998 1000000000

输出 #3

3 1 4 2

说明/提示

限制条件

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 0Ai,Bi1090 \leq A_i, B_i \leq 10^9
  • Ai+Bi1A_i + B_i \geq 1
  • 输入的所有数值均为整数

样例解释 1

11 个人的成功率为 0.250.25,第 22 个人的成功率为 0.750.75,第 33 个人的成功率为 0.50.5。按成功率从高到低排序后,输出顺序如样例所示。

样例解释 2

1122 个人的成功率相同,因此需要按编号升序输出。

由 ChatGPT 4.1 翻译