欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF2102B.The Picky Cat
The Picky Cat
题目描述
给定一个整数数组 。你可以执行以下操作任意次数(包括零次):
- 选择一个下标 ()。将 乘以 (即更新 )。
你的任务是判断是否可以通过上述操作使得下标为 的元素成为数组的中位数。注意操作也可以应用于下标 ,这意味着中位数可以是 的原值或其相反数。
数组 的中位数定义为数组中第 小的元素 。例如,数组 的中位数是 ,而数组 的中位数是 。
保证数组 中元素的绝对值互不相同。形式化地说,不存在下标对 满足 。
是向上取整函数,返回大于等于 的最小整数。
输入格式
每个测试包含多个测试用例。第一行输入测试用例数量 ()。接下来是各测试用例的描述。
每个测试用例的第一行包含一个整数 ()——数组 的长度。
每个测试用例的第二行包含 个整数 (,)——数组 的元素。
保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,如果可以使下标为 的元素成为数组的中位数,输出"YES",否则输出"NO"。
你可以以任意大小写形式输出答案(例如字符串"yEs"、"yes"、"Yes"和"YES"都会被识别为肯定回答)。
说明/提示
在第一个测试用例中, 已经是数组 的中位数,因此不需要任何操作。
在第二个测试用例中,我们可以执行两次操作:一次在下标 ,一次在下标 。数组变为 ,其中中位数为 。
在第三个测试用例中,如果对下标 执行操作,数组将变为 ,其中中位数为 。
在第四个测试用例中,可以证明不存在任何操作序列能使数组的中位数变为 或 。
翻译由 DeepSeek V3 完成
样例
7
3
2 3 1
5
1 2 3 4 5
4
4 2 0 -5
4
-5 0 4 3
4
-10 8 3 2
1
1
10
9 1000 -999 -13 456 -223 23 24 10 0
YES
YES
YES
NO
NO
YES
YES
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |