欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1807G1.Subsequence Addition (Easy Version)
Subsequence Addition (Easy Version)
题目描述
本题与原题的唯一区别在于,本题的约束条件更低。
初始时,数组 只包含数字 。你可以进行若干次操作来改变数组。在每次操作中,你可以选择 的一个子序列 ,并将该子序列所有元素的和作为一个新元素加入到 中。
现在给定一个最终数组 。请判断是否可以通过对初始数组 进行若干次(可能为零次)操作后得到数组 。
如果序列 可以通过从序列 中删除若干(可能为零个,但不能全部)元素得到,则称 是 的一个子序列。换句话说,就是选择 ()个不同的下标 ,并在 的任意位置插入一个新元素,其值为 。
输入格式
输入的第一行包含一个整数 (),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 (),表示最终数组 的元素个数。
每个测试用例的第二行包含 个用空格分隔的整数 (),表示需要通过操作得到的最终数组 。
保证所有测试用例中 的总和不超过 。
输出格式
对于每个测试用例,如果存在这样一系列操作可以得到数组 ,输出 "YES"(不含引号);否则输出 "NO"(不含引号)。
你可以用任意大小写输出答案(例如 "yEs"、"yes"、"Yes" 和 "YES" 都会被识别为肯定答案)。
说明/提示
对于第一个测试用例,初始数组 已经等于 ,因此答案为 "YES"。
对于第二个测试用例,无论进行多少次操作, 的大小至少为 ,且不会只包含元素 ,因此无法得到数组 ,答案为 "NO"。
对于第三个测试用例,可以按如下操作得到最终数组 :
- 初始时,。
- 选择子序列 ,插入 , 变为 。
- 选择子序列 ,插入 , 变为 。
- 选择子序列 ,插入 , 变为 。
- 选择子序列 ,插入 , 变为 (这就是我们需要得到的数组)。
由 ChatGPT 4.1 翻译
样例
6
1
1
1
2
5
5 1 3 2 1
5
7 1 5 2 1
3
1 1 1
5
1 1 4 2 1
YES
NO
YES
NO
YES
YES
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |