4079: 公平的糖果分配
内存限制:1024 MB
时间限制:2.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
# Fair Candy Distribution
## 题目描述
小高有$N$个公民和$K$块糖果。每个公民都有一个唯一的身份证号码$a_i$。小高决定按以下方式分发糖果,直到他没有更多的糖果:
- 当他有$N$块或更多糖果时,每个公民分发一块。
- 否则,假设他现在有$K'$块糖果,他会将这些糖果分发给身份证号码最小的$K'$个公民,每人一块。
当所有糖果分发完毕后,第$i$个公民会得到多少块糖果?
输入
## 输入格式
输入从标准输入中给出,格式如下:
$N \ K$
$a_1 \ a_2 \ ... \ a_N$
输出
## 输出格式
输出$N$行。第$i$行应包含第$i$个公民收到的糖果数量。
样例输入 复制
2 7
1 8
样例输出 复制
4
3
提示
## 输入输出样例
### 输入样例1
```
2 7
1 8
```
### 输出样例1
```
4
3
```
### 输入样例2
```
1 3
33
```
### 输出样例2
```
3
```
### 输入样例3
```
7 1000000000000
99 8 2 4 43 5 3
```
### 输出样例3
```
142857142857
142857142857
142857142858
142857142857
142857142857
142857142857
142857142857
```
## 数据范围与提示
【样例1说明】
小高将按以下方式分发糖果:
- 每人分发一块,剩下5块。
- 每人分发一块,剩下3块。
- 每人分发一块,剩下1块。
- 将最后一块分发给第1个公民。
最终,第1个公民将收到4块糖果,第2个公民将收到3块糖果。
【样例2说明】
由于只有一个公民,小高将所有糖果都分发给这第1个公民。
【数据范围】
- $1 \leq N \leq 2 \times 10^5$
- $1 \leq K \leq 10^{18}$
- $1 \leq a_i \leq 10^9$
- 所有$a_i$互不相同
- 输入中的所有值都是整数
## 题目来源
ABC208C
## 题目背景
公平的糖果分配是一个经典的问题,通常出现在算法和逻辑谜题中。在这个问题中,给定一组孩子和一定数量的糖果,你需要找到一种分配方案,使得每个孩子都能获得相同数量的糖果,并且要求尽可能平均。
如果糖果的数量不能被孩子数整除,那么有时候会要求尽可能接近平均分配,或者根据其他规则进行分配。
解决这个问题的方法通常包括使用数学方法(比如除法和取余数),或者编写一个算法来模拟分配过程。在某些情况下,这个问题可能涉及到贪婪算法或者动态规划算法。