12118. Турнірна таблиця


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

\(N\) людей під номерами від 1 до \(N\) кинули монету кілька разів. Ми знаємо, що кидки людини \(i\) призвели до \(A_i\) ​ орла та \(B_i\) ​ решки.

Рівень успішності жеребків для особи \(i\) визначається \(\frac{A_i}{A_i+B_i} \). Відсортуйте людей \(1,…,N\) у порядку спадання їхніх показників успіху, розриваючи зв’язки у порядку зростання їхніх присвоєних номерів.

Обмеження

  • \(2≤N≤2×10^5\)
  • \(0≤A_i ​ ,B_i ​ ≤10^9\)
  • \(A_i ​+B_i ​ ≥1\)
  • Усі вхідні значення є цілими числами.

Формат вхідних даних

Перший рядок містить ціле число \(N\).

Наступні  \(N\) рядків містять цілі числа \(A_i, B_i\).

Формат вихідних даних

У вихідний потік виведіть номери людей \(1,…,N\) у порядку спадання їхніх показників успішності, розриваючи зв’язки в порядку зростання їхнього приписаного числа.

Приклад вхідних даних

3
1 3
3 1
2 2

Приклад вихідних даних

2 3 1

Коефіцієнт успіху особи 1 становить 0,25, 2 – 0,75, а людини 3 – 0,5.

Відсортуйте їх у порядку спадання рівня успішності, щоб отримати порядок у вихідних даних зразка.

Приклад вхідних даних

2
1 3
2 6

Приклад вихідних даних

1 2

Приклад вхідних даних

4
999999999 1000000000
333333333 999999999
1000000000 999999997
999999998 1000000000

Приклад вихідних даних

3 1 4 2

Коментарі

Ще немає коментарів.