AT_arc118_b.[ARC118B] Village of M People
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
ARC 国有 N 名国民,所有国民都是竞赛编程的玩家。根据每个人的竞赛编程实力,每位国民被分配了 1,2,…,K 中的某一个段位。
在 ARC 国进行了一次人口普查,结果显示,段位 i 的国民恰好有 Ai 人。国王希望将这份统计数据以更易理解的方式展示,于是决定以 M 人的村庄为例,尽量保持各段位人数比例不变。
请你为 M 人的村庄合理分配每个段位 i 的村民人数 Bi,使得 maxiMBi−NAi 尽可能小。需要满足以下条件:
- 每个 Bi 是非负整数,且 ∑i=1KBi=M。
请输出任意一种满足条件的 B=(B1,B2,…,BK)。
输入格式
输入以如下格式从标准输入读入:
K N M A1 A2 … AK
输出格式
请输出满足条件的整数序列 B,各元素用空格隔开,输出一行:
B1 B2 … BK
如果存在多组满足条件的解,输出任意一组均可。
输入输出样例
输入#1
3 7 20 1 2 4
输出#1
3 6 11
输入#2
3 3 100 1 1 1
输出#2
34 33 33
输入#3
6 10006 10 10000 3 2 1 0 0
输出#3
10 0 0 0 0 0
输入#4
7 78314 1000 53515 10620 7271 3817 1910 956 225
输出#4
683 136 93 49 24 12 3
说明/提示
约束条件
- 1≤K≤105
- 1≤N,M≤109
- 每个 Ai 是非负整数,且 ∑i=1KAi=N
样例解释 1
对于该输出,maxiMBi−NAi=max(203−71,206−72,2011−74)=max(1401,701,1403)=1403。
样例解释 2
需要注意的是,B1=B2=B3=33 不满足 B1+B2+B3=M=100 的条件。在本例中,34 33 33、33 34 33 或 33 33 34 等输出都是正确答案。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?