CF2014C.Robin Hood in Town

普及-

通过率:0%

AC君温馨提醒

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

题目描述

在 Sherwood,我们评判一个人不是看他的财富,而是看他的品德。

看看四周,富人越来越富,穷人越来越穷。我们需要劫富济贫。我们需要 Robin Hood!

镇上有 nn 个人。此刻,第 ii 个人的财富为 aia_i 个金币。但你猜怎么着?最富有的人又发现了一锅额外的金币!

更正式地说,找到 aj=max⁡(a1,a2,…,an)a_j = \max(a_1, a_2, \dots, a_n),将 aja_j 变为 aj+xa_j + x,其中 xx 是锅里发现的非负整数金币。如果有多个最大值,可以任选其中一个。

如果一个人的财富严格小于平均财富的一半 ∗^{\text{∗}},他就会感到不满。

如果严格超过一半的人口 nn 感到不满,Robin Hood 就会应民众要求出现。

请你确定 Robin Hood 出现所需的最小 xx,如果不可能出现,则输出 −1-1。

∗^{\text{∗}} 平均财富定义为总财富除以总人数 nn,即 ∑ain\frac{\sum a_i}{n},结果为实数。

输入格式

输入的第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)——测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2\cdot10^5)——总人口数。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤1061 \le a_i \le 10^6)——每个人的财富。

保证所有测试用例中 nn 的总和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每个测试用例,输出一个整数——最富有的人需要再获得多少金币,Robin Hood 才会出现。如果不可能出现,输出 −1-1。

输入输出样例

  • 输入#1

    6
    1
    2
    2
    2 19
    3
    1 3 20
    4
    1 2 3 4
    5
    1 2 3 4 5
    6
    1 2 1 1 1 25

    输出#1

    -1
    -1
    0
    15
    16
    0

说明/提示

在第一个测试用例中,不可能有一个人感到不满。

在第二个测试用例中,总会有 11 个快乐的人(最富有的)。

在第三个测试用例中,不需要额外的金币,所以答案是 00。

在第四个测试用例中,增加 1515 个金币后,平均财富变为 254\frac{25}{4},其一半为 258\frac{25}{8},此时有 33 个人感到不满。

在第五个测试用例中,增加 1616 个金币后,平均财富变为 315\frac{31}{5},此时有 33 个人感到不满。

由 ChatGPT 4.1 翻译

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

首页