A14284 | Friends and Candies
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Polycarp has $n$ friends, the $i$ -th of his friends has $a_i$ candies. Polycarp's friends do not like when they have different numbers of candies. In other words they want all $a_i$ to be the same. To solve this, Polycarp performs the following set of actions exactly once:
- Polycarp chooses $k$ ( $0 \le k \le n$ ) arbitrary friends (let's say he chooses friends with indices $i_1, i_2, \ldots, i_k$ );
- Polycarp distributes their $a_{i_1} + a_{i_2} + \ldots + a_{i_k}$ candies among all $n$ friends. During distribution for each of $a_{i_1} + a_{i_2} + \ldots + a_{i_k}$ candies he chooses new owner. That can be any of $n$ friends. Note, that any candy can be given to the person, who has owned that candy before the distribution process.
Note that the number $k$ is not fixed in advance and can be arbitrary. Your task is to find the minimum value of $k$ .
For example, if $n=4$ and $a=[4, 5, 2, 5]$ , then Polycarp could make the following distribution of the candies:
- Polycarp chooses $k=2$ friends with indices $i=[2, 4]$ and distributes $a_2 + a_4 = 10$ candies to make $a=[4, 4, 4, 4]$ (two candies go to person $3$ ).
Note that in this example Polycarp cannot choose $k=1$ friend so that he can redistribute candies so that in the end all $a_i$ are equal.
For the data $n$ and $a$ , determine the minimum value $k$ . With this value $k$ , Polycarp should be able to select $k$ friends and redistribute their candies so that everyone will end up with the same number of candies.
- Polycarp chooses $k$ ( $0 \le k \le n$ ) arbitrary friends (let's say he chooses friends with indices $i_1, i_2, \ldots, i_k$ );
- Polycarp distributes their $a_{i_1} + a_{i_2} + \ldots + a_{i_k}$ candies among all $n$ friends. During distribution for each of $a_{i_1} + a_{i_2} + \ldots + a_{i_k}$ candies he chooses new owner. That can be any of $n$ friends. Note, that any candy can be given to the person, who has owned that candy before the distribution process.
Note that the number $k$ is not fixed in advance and can be arbitrary. Your task is to find the minimum value of $k$ .
For example, if $n=4$ and $a=[4, 5, 2, 5]$ , then Polycarp could make the following distribution of the candies:
- Polycarp chooses $k=2$ friends with indices $i=[2, 4]$ and distributes $a_2 + a_4 = 10$ candies to make $a=[4, 4, 4, 4]$ (two candies go to person $3$ ).
Note that in this example Polycarp cannot choose $k=1$ friend so that he can redistribute candies so that in the end all $a_i$ are equal.
For the data $n$ and $a$ , determine the minimum value $k$ . With this value $k$ , Polycarp should be able to select $k$ friends and redistribute their candies so that everyone will end up with the same number of candies.
输入格式
The first line contains one integer $t$ ( $1 \le t \le 10^4$ ). Then $t$ test cases follow.
The first line of each test case contains one integer $n$ ( $1 \le n \le 2 \cdot 10^5$ ).
The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ( $0 \le a_i \le 10^4$ ).
It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$ .
The first line of each test case contains one integer $n$ ( $1 \le n \le 2 \cdot 10^5$ ).
The second line contains $n$ integers $a_1, a_2, \ldots, a_n$ ( $0 \le a_i \le 10^4$ ).
It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$ .
输出格式
For each test case output:
- the minimum value of $k$ , such that Polycarp can choose exactly $k$ friends so that he can redistribute the candies in the desired way;
- "-1" if no such value $k$ exists.
- the minimum value of $k$ , such that Polycarp can choose exactly $k$ friends so that he can redistribute the candies in the desired way;
- "-1" if no such value $k$ exists.
输入输出样例
输入 #1
5 4 4 5 2 5 2 0 4 5 10 8 5 1 4 1 10000 7 1 1 1 1 1 1 1
输出 #1
2 1 -1 0 0
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted