欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1213A.Chips Moving
Chips Moving
You are given chips on a number line. The -th chip is placed at the integer coordinate . Some chips can have equal coordinates.
You can perform each of the two following types of moves any (possibly, zero) number of times on any chip:
- Move the chip by to the left or to the right for free (i.e. replace the current coordinate with or with );
- move the chip by to the left or to the right and pay one coin for this move (i.e. replace the current coordinate with or with ).
Note that it's allowed to move chips to any integer coordinate, including negative and zero.
Your task is to find the minimum total number of coins required to move all chips to the same coordinate (i.e. all should be equal after some sequence of moves).
Input
The first line of the input contains one integer () — the number of chips.
The second line of the input contains integers (), where is the coordinate of the -th chip.
Output
Print one integer — the minimum total number of coins required to move all chips to the same coordinate.
Note
In the first example you need to move the first chip by to the right and the second chip by to the right or move the third chip by to the left and the second chip by to the left so the answer is .
In the second example you need to move two chips with coordinate by to the left so the answer is .
Samples
3
1 2 3
1
5
2 2 2 3 3
2
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |