#WHJ2025C. 赢得选举(election)
赢得选举(election)
题目描述
一场选举中有 名候选人,编号为 。共有 张选票,其中一部分已经统计完毕。
到目前为止,候选人 已获得 张选票。
在所有选票统计完毕后,候选人 ()当选的条件是:获得比他们票数多的候选人数量少于 。可能会有多个候选人当选。
对于每个候选人,找出他们从剩余选票中需要的最少额外票数,以确保他们无论如何都能当选。
形式化地,对于每个 ,解决以下问题:
确定是否存在一个不超过 的非负整数 ,满足以下条件。如果存在,找出满足条件的最小整数。
- 如果候选人 获得 张额外选票,那么候选人 将始终当选。
输入格式
第一行三个空格隔开的整数 ;
第二行 个空格隔开的整数表示到目前为止候选人们已获得的选票。
输出格式
设 是候选人 从剩余选票中需要的最少额外票数,以确保他们无论如何都能当选。按顺序输出 ,用空格隔开。
如果候选人 已经确保当选,则设 。如果候选人 在任何情况下都无法确保当选,则设 。
样例输入 1
5 2 16
3 1 4 1 5
样例输出 1
2 -1 1 -1 0
已统计了 张选票,还剩下 张。
要输出的 是 。例如:
- 候选人 获得 张额外选票即可确保当选,而获得 张则不能。因此,。
- 候选人 即使获得 张额外选票也无法确保当选,所以 。
样例输入 2
12 1 570
81 62 17 5 5 86 15 7 79 26 6 28
样例输出 2
79 89 111 117 117 74 112 116 80 107 117 106