欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF2112B.Shrinking Array
Shrinking Array
题目描述
序列 是美丽的,当且仅当 的长度至少为 且存在一个位置 使得 。
给你一个序列 ,你可以执行以下操作直到其长度少于 。
- 选择 中两个相邻的位置 和 。
- 选择一个整数 使得 。
- 删除 和 ,并在它们的位置插入一个 。这会使得 的长度减少 。
计算最少需要多少次操作使得 变得美丽,或报告这是不可能的。
输入格式
多组数据。第一行一个整数 ,表示数据组数。
对于每组数据,第一行一个整数 ,表示 的大小。
第二行 个整数 。
输出格式
对于每组数据,如果可以通过操作使得 为美丽的,输出一行一个整数表示答案;否则输出一行 表示无解。
说明/提示
样例解释
对于第一组数据,,因此 是美丽的。
对于第二组数据,执行操作会让 的长度小于 ,所以不可能使得 美丽。
对于第三组数据,选择 和 ,操作后的序列 是美丽的。
对于第四组数据,选择 和 ,操作后的序列 是美丽的。
样例
4
4
1 3 3 7
2
6 9
4
3 1 3 7
4
1 3 5 2
0
-1
1
1
在线编程 IDE
建议全屏模式获得最佳体验
键盘快捷键
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |
第 1 行,第 1 列
0 字符
-
最近自测结果
暂未运行
最近递交结果
暂无递交记录