#ABC373E. 如何赢得选举

如何赢得选举

如何赢得选举

题目描述

正在举行一场有 NN 名候选人(编号为 1,2,,N1, 2, \ldots, N)的选举,共有 KK 张选票,其中一部分已经统计完毕。

到目前为止,候选人 ii 已获得 AiA_i 张选票。

所有选票统计完毕后,候选人 ii1iN1 \leq i \leq N)当选当且仅当获得票数多于该候选人的候选人数少于 MM。当选者可能有多个。

对每位候选人,求需要从剩余选票中获得的最少额外票数,使得无论其他候选人如何获得选票,都能保证当选。

形式化地说,对每个 i=1,2,,Ni = 1,2,\ldots,N 解决以下问题。

判断是否存在一个不超过 Ki=1NAiK - \displaystyle{\sum_{i=1}^{N}} A_i 的非负整数 XX 满足以下条件。如果存在,求出满足条件的最小整数。

如果候选人 ii 获得 XX 张额外选票,则候选人 ii 一定当选。

输入格式

输入按以下格式从标准输入给出:

NN MM KK
A1A_1 A2A_2 \ldots ANA_N

输出格式

CiC_i 为候选人 ii 需要从剩余选票中获得的最少额外票数,使得无论其他候选人如何获得选票,都能保证当选。用空格分隔输出 C1,C2,,CNC_1, C_2, \ldots, C_N

如果候选人 ii 已经确保当选,则令 Ci=0C_i = 0。如果候选人 ii 无论如何都无法确保当选,则令 Ci=1C_i = -1

样例

5 2 16
3 1 4 1 5
2 -1 1 -1 0

目前已统计 1414 张选票,还剩 22 张选票。

需要输出的 CC(2,1,1,1,0)(2, -1, 1, -1, 0)。例如:

候选人 11 再获得 22 张选票即可确保当选,而再获得 11 张选票则不行。因此 C1=2C_1 = 2

候选人 22 即使再获得 22 张选票也永远无法确保当选,因此 C2=1C_2 = -1

12 1 570
81 62 17 5 5 86 15 7 79 26 6 28
79 89 111 117 117 74 112 116 80 107 117 106

数据范围

  • 1MN2×1051 \le M \le N \le 2 \times 10^5
  • 1K10121 \le K \le 10^{12}
  • 0Ai10120 \le A_i \le 10^{12}
  • i=1NAiK\displaystyle{\sum_{i=1}^{N} A_i} \le K
  • 输入均为整数
难度 提高
通过率
尝试 0
已通过 0
ID
3435
类型
传统题
Time Limit
2500ms
Memory Limit
1024MiB
上传者
标签