欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1917A.Least Product
Least Product
You are given an array of integers . You can perform the following operation any number of times (possibly zero):
- Choose any element from the array and change its value to any integer between and (inclusive). More formally, if , replace with any integer in , otherwise replace with any integer in .
Let be the minimum possible product of all the after performing the operation any number of times.
Find the minimum number of operations required to make the product equal to . Also, print one such shortest sequence of operations. If there are multiple answers, you can print any of them.
Input
Each test consists of multiple test cases. The first line contains a single integer () - the number of test cases. This is followed by their description.
The first line of each test case contains the a single integer () — the length of the array.
The second line of each test case contains integers ().
Output
For each test case:
- The first line must contain the minimum number of operations ().
- The -th of the next lines must contain two integers and , which represent the -th operation. That operation consists in replacing with .
Note
In the first test case, we can change the value of the first integer into and the product will become , which is the minimum possible.
In the second test case, initially, the product of integers is equal to which is the minimum possible, so we should do nothing in this case.
Samples
4
1
155
4
2 8 -1 3
4
-1 0 -2 -5
4
-15 -75 -25 -30
1
1 0
0
0
1
3 0
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |