#P13139. [GCJ 2018 #1B] Rounding Error
[GCJ 2018 #1B] Rounding Error
Description
为了最终解决“哪种编程语言最好”这一由来已久的问题,你打算询问总共 个人,让他们告诉你自己最喜欢的语言。这是一个开放式问题:每个人都可以自由选择任何一种语言,世界上的语言数量是无限的。
有些人已经作出了回应,你已经将这些信息整理成了一个计数列表。例如,1 2 表示你目前已经询问了 3 个人,其中一人选择了一种特定的语言,另外两人选择了另一种语言。
你打算将结果以表格的形式公布,列出每种语言以及选择它的人所占的百分比。你会将每个百分比四舍五入到最接近的整数,如果小数部分大于等于 0.5,则向上取整。例如, 会四舍五入为 , 会四舍五入为 , 会四舍五入为 。
在这种调查中,有时四舍五入后的百分比之和并不一定正好等于 100。请问,在你完成对剩余人员的调查后,四舍五入后的百分比之和最大可能是多少?
Input Format
输入的第一行是测试用例的数量 。接下来有 组测试数据,每组包含两行。第一行包含两个整数 和 ,分别表示调查的总人数,以及已经有回应的不同语言的数量。第二行包含 个整数 ,第 个数表示有 个人选择了第 种已出现的语言。
Output Format
对于每个测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 1 开始), 是四舍五入后的百分比之和的最大可能值。
4
3 2
1 1
10 3
1 3 2
6 2
3 1
9 8
1 1 1 1 1 1 1 1
Case #1: 100
Case #2: 100
Case #3: 101
Case #4: 99
Hint
样例解释
在样例 1 中,已有两人作答,且选择了不同的语言。还有一人未作答。如果这人选择第三种语言,则四舍五入后的百分比之和为 。但如果这人选择了已出现的某种语言,则四舍五入后的百分比之和为 。因此最大可能为 100。
在样例 2 中,无论剩下的四人如何选择,各语言的百分比总是 10 的整数倍,无需四舍五入,总和始终为 100。
在样例 3 中,一种最优情况是:剩下的两人各自选择一种未出现的语言,则四舍五入后的百分比之和为 。
在样例 4 中,无论剩下的一人选择已出现的语言与否,四舍五入后的百分比之和都为 99。
数据范围
- 。
- 。
- 对所有 ,。
- 所有 之和 。
测试点 1(5 分,可见)
- 。
测试点 2(9 分,可见)
- 。
测试点 3(11 分,隐藏)
- 。
由 ChatGPT 4.1 翻译
京公网安备 11011102002149号