AT_past202309_d.相対評価のスコア
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
你举办了一场程序设计比赛。一共有 N 名参赛者,第 i 名参赛者得分为 Ai 分。
为了使所有人的分数都变成 0 到 109 范围内的整数(包含 0 和 109),你打算对每一位参赛者 i=1,2,…,N 按照如下公式计算其“相对分数”:
- round(109×maxiAiAi)
其中,maxiAi 表示所有 Ai 中的最大值,round(x) 表示四舍五入取整到最近的整数。更正式地,maxiAi 为满足对所有 j(1≤j≤N) 有 Aj≤Ai 的 Ai,而 round(x) 为唯一满足 n−21≤x<n+21 的整数 n。
请计算第 i 名参赛者的相对分数(i=1,2,…,N)。
输入格式
输入从标准输入读入,格式如下:
N A1 A2 … AN
输出格式
请按照 i 从小到大的顺序,在一行内用空格隔开输出每位选手的相对分数。
输入输出样例
输入#1
3 200 600 300
输出#1
333333333 1000000000 500000000
输入#2
2 1 999999999
输出#2
1 1000000000
输入#3
10 55580908 183811851 247188750 266233976 335843599 344138315 389659771 389921297 698238479 720357617
输出#3
77157382 255167498 343147270 369585841 466217877 477732597 540925454 541288504 969294226 1000000000
说明/提示
样例解释 1
每位参赛者的相对分数计算如下:
maxiAi=A2=600,因为 A1≤A2,A2≤A2,A3≤A2。
- 第 1 名参赛者得分为 A1=200。109×600200=3109,而 333333333−21≤3109<333333333+21,所以相对分数为 333333333。
- 第 2 名参赛者得分为 A2=600。109×600600=109,且 1000000000−21≤109<1000000000+21,所以相对分数为 1000000000。
- 第 3 名参赛者得分为 A3=300。109×600300=5×108,而 500000000−21≤5×108<500000000+21,所以相对分数为 500000000。
数据范围
- 1≤N≤105
- 1≤Ai≤109 (1≤i≤N)
- 所有输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?