AT_abc373_e.[ABC373E] How to Win the Election

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

现在正在举行一场选举,有 NN 位候选人,编号为 1,2,…,N1, 2, \ldots, N。目前已经有 KK 张选票,其中一些已经被计入。

到目前为止,第 ii 位候选人已经获得了 AiA_i 票。

在所有选票被计完后,如果某位候选人的得票数满足比他得票多的候选人数少于 MM,那么该候选人将被当选。可能会有多位候选人同时当选。

对于每个候选人,求出他们需要从剩余的选票中获得的最少票数,以确保无论其他候选人获得多少票,他们都能当选。

具体来说,对于每个 i=1,2,…,Ni = 1, 2, \ldots, N,解决以下问题:

确定是否存在一个非负整数 XX,其不超过 K−∑i=1NAiK - \displaystyle{\sum_{i=1}^{N}} A_i,并满足以下条件。如果存在,找出满足条件的最小 XX。

  • 如果候选人 ii 获得了 XX 张额外选票,那么候选人 ii 将始终当选。

输入格式

第一行包含三个整数 NN、MM 和 KK。

第二行包含 NN 个整数,分别是 A1,A2,…,ANA_1, A_2, \ldots, A_N,表示每个候选人当前已经获得的票数。

输出格式

设 CiC_i 为候选人 ii 从剩余选票中需要的最少额外票数,以保证无论其他候选人获得多少票,他们都能当选。输出 C1,C2,…,CNC_1, C_2, \ldots, C_N。

如果候选人 ii 已经确保当选,则 Ci=0C_i = 0。如果候选人 ii 无法在任何情况下确保当选,则 Ci=−1C_i = -1。

输入输出样例

  • 输入#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

说明/提示

  • 1≤M≤N≤2×1051 \leq M \leq N \leq 2 \times 10^5。
  • 1≤K≤10121 \leq K \leq 10^{12}。
  • 0≤Ai≤10120 \leq A_i \leq 10^{12}。
  • ∑i=1NAi≤K\displaystyle{\sum_{i=1}^{N} A_i} \leq K。

输入解题思路,AI测评打分。不知道怎么写?

首页