a145: 競技場
Tags : binary search sort
Accepted rate : 12人/17人 ( 71% ) [非即時]
評分方式:
Tolerant

最近更新 : 2023-05-22 11:38

Content

在章魚遊戲競技場中,每周都有積分排行榜,挑戰者可以透過參賽對打賺取積分。
每個星期日晚上 10 點時,會依照積分的高低結算每個人的名次並進行獎勵。

結算時,如果最後有某兩個人以上積分相同的話,則那些參賽者名次並列,並且後續名次會空缺。

以範例輸入二為例, 8 個參賽者的成績分別為 $(67, 82, 43, 67, 32, 67, 43, 35)$
則結果如下:

  • 第一名 $82$ 分: 2 號 
  • 第二名 $67$ 分: 1, 4, 6 號並列(所以不會有第三、第四名)
  • 第五名 $43$ 分: 3, 7 號並列(所以不會有第六名)
  • 第七名 $35$ 分: 8 號
  • 第八名 $32$ 分: 5 號

現在有 $n$ 個參賽者來挑戰這次的競技場,經過一周的競爭激烈後,大家的積分不盡相同,請你幫忙寫一個程式快速算出大家的排名。

Input

第一行輸入整數 $n$ 代表參賽者的數量。 $1 \leq n \leq 10^5$

第二行輸入 $1 \sim n$ 號參賽者的積分,以空格分開,所有積分均為整數,且不超過 $10^9$。

  • (50%) 保證所有的積分均不相等
  • (50%) 可能會有成績相等的狀況
Output

 輸出 $n$ 個數字,代表 $1 \sim n$ 號的名次

Sample Input #1
6
92 81 30 78 100 63
Sample Output #1
2 3 6 4 1 5
Sample Input #2
8
67 82 43 67 32 67 43 35
Sample Output #2
2 1 5 2 8 2 5 7
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (10%): 0.6s , <1M
公開 測資點#1 (10%): 0.6s , <1M
公開 測資點#2 (10%): 0.6s , <1M
公開 測資點#3 (10%): 0.6s , <1M
公開 測資點#4 (10%): 0.6s , <1M
公開 測資點#5 (10%): 0.6s , <1M
公開 測資點#6 (10%): 0.6s , <1M
公開 測資點#7 (10%): 0.6s , <1M
公開 測資點#8 (10%): 0.6s , <1M
公開 測資點#9 (10%): 0.6s , <1M
Hint :

寫PYTHON的同學請用PYPY

Tags:
binary search sort
出處:
[管理者:
ktlai (K.我已霸榜.Tlai)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」