AT_past202309_d 相対評価のスコア

题目描述

你举办了一场程序设计比赛。一共有 $N$ 名参赛者,第 $i$ 名参赛者得分为 $A_i$ 分。 为了使所有人的分数都变成 $0$ 到 $10^9$ 范围内的整数(包含 $0$ 和 $10^9$),你打算对每一位参赛者 $i=1,2,\ldots,N$ 按照如下公式计算其“相对分数”: - $\operatorname{round}\left(10^9\times\dfrac{A_i}{\max_i A_i}\right)$ 其中,$\max_i A_i$ 表示所有 $A_i$ 中的最大值,$\operatorname{round}(x)$ 表示四舍五入取整到最近的整数。更正式地,$\max_i A_i$ 为满足对所有 $j(1\leq j\leq N)$ 有 $A_j\leq A_i$ 的 $A_i$,而 $\operatorname{round}(x)$ 为唯一满足 $n-\dfrac{1}{2}\leq x < n+\dfrac{1}{2}$ 的整数 $n$。 请计算第 $i$ 名参赛者的相对分数($i=1,2,\ldots,N$)。

输入格式

输入从标准输入读入,格式如下: > $N$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

请按照 $i$ 从小到大的顺序,在一行内用空格隔开输出每位选手的相对分数。

说明/提示

### 样例解释 1 每位参赛者的相对分数计算如下: $\max_i A_i = A_2 = 600$,因为 $A_1 \leq A_2, A_2 \leq A_2, A_3 \leq A_2$。 - 第 $1$ 名参赛者得分为 $A_1=200$。$10^9\times\dfrac{200}{600}=\dfrac{10^9}{3}$,而 $333333333-\dfrac{1}{2}\leq\dfrac{10^9}{3}