欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1615A.Closing The Gap
Closing The Gap
There are block towers in a row, where tower has a height of . You're part of a building crew, and you want to make the buildings look as nice as possible. In a single day, you can perform the following operation:
- Choose two indices and (; ), and move a block from tower to tower . This essentially decreases by and increases by .
You think the ugliness of the buildings is the height difference between the tallest and shortest buildings. Formally, the ugliness is defined as .
What's the minimum possible ugliness you can achieve, after any number of days?
Input
The first line contains one integer () — the number of test cases. Then cases follow.
The first line of each test case contains one integer () — the number of buildings.
The second line of each test case contains space separated integers () — the heights of the buildings.
Output
For each test case, output a single integer — the minimum possible ugliness of the buildings.
Note
In the first test case, the ugliness is already .
In the second test case, you should do one operation, with and . The new heights will now be , with an ugliness of .
In the third test case, you may do three operations:
- with and . The new array will now be ,
- with and . The new array will now be ,
- with and . The new array will now be .
The resulting ugliness is . It can be proven that this is the minimum possible ugliness for this test.
Samples
3
3
10 10 10
4
3 2 1 2
5
1 2 3 1 5
0
0
1
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |