欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF2211A.Antimedian Deletion
Antimedian Deletion
你会得到一个大小为的permutation 。你可以任意次数执行以下操作:
- 选择大小为的subarray。然后删除其中最小或最大的元素。
例如,对于置换,你可以选择子数组。因为。你可以删除以获得数组。你也可以选择删除作为。
对于从到的每个,求出包含该数组的最小长度,该数组包含。注意,该问题需对每个独立求解。
长度为的置换A由个不同整数组成的数组,从到,顺序任意。例如,是一个置换,但不是置换(在数组中出现两次),也不是置换(但数组中有)。
An数组是数组的子数组,如果可以通过从中删除开头的若干(可能是零或全部)元素和从末尾删除若干(可能是零或全部)元素来获得。
输入
每个测试包含多个测试用例。第一行表示测试用例的数量 ()。以下是测试用例的描述。
每个测试用例的第一行包含一个整数()——即数组的长度。
每个测试用例的第二行包含整数()。保证从到的每个元素恰好出现一次。
输出
对于每个测试用例,输出新行的数字:即的答案。
注释
在第一个例子中,由于数组大小仅为,我们无法执行任何操作。
在第二个例子中,对于,我们可以选择子数组 ,并删除最大的数组 以获得数组 。可以证明 是包含 的可达数组的最小长度。
样例
2
1
1
3
2 1 3
1
2 2 2
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |