C. 序列游戏

    传统题 1000ms 256MiB

序列游戏

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

给定一个长度为 nn 的整数序列 a1,a2,,ana_1,a_2,\ldots,a_n 和一个整数 xx

你可以执行以下操作:选择两个相邻的数 aia_iai+1a_{i+1},并用一个整数 yy 替换它们,满足

min(ai,ai+1)ymax(ai,ai+1)\min(a_i,a_{i+1}) \le y \le \max(a_i,a_{i+1})

替换后,原来的 aia_iai+1a_{i+1} 从序列中删除,序列长度减少 11,并重新编号为 11n1n-1

例如:

  • a=[1,2,4,5]a=[1,2,4,5],你可以选择 a2=2a_2=2a3=4a_3=4,用 y=3y=3 替换它们,得到新的序列 [1,3,5][1,3,5]
  • 但你不能选择 a1=1a_1=1a2=2a_2=2 并用 y=3y=3 替换。因为 3>max(1,2)3 > \max(1,2),也不能选择 a1=1a_1=1a3=4a_3=4(因为它们不是相邻的元素)。

显然,经过 n1n-1 次操作后,序列中只会剩下一个数。 问题是:是否存在一系列操作,使得最后剩下的这个数恰好等于 xx

输入格式

本题有多组数据

第一行输入一个整数 tt 表示测试数据组数,对于每一组数据:

  • 第一行输入一个整数 nn 表示序列长度。
  • 接下来输入 nn 个空格隔开的整数表示 a1,a2,,ana_1,a_2,\ldots,a_n
  • 第三行输入一个整数 xx

输出格式

输出一共输出 tt 行,若剩余的一个数字可以等于 xx 则输出 Yes,否则输出 No

4
3
2 7 5
4
5
-1 3 7 -9 -2
8
6
1 -1 -4 5 1 -4
-2
4
1 0 -1 -1
0
Yes
No
Yes
Yes

样例 1 解释

在第一个测试用例中,你可以先选择 a2=7a_2 = 7a3=5a_3 = 5,并将它们替换为 66

此时序列变为 [2,6][2, 6]

接着你可以选择 a1=2a_1 = 2a2=6a_2 = 6,并将它们替换为 44

在第二个测试用例中,可以证明最终得到的数字永远不可能是 88

数据规模与约定

对于 100%100\% 的数据,1t50001 \le t \le 50001n1001\leq n\leq 100109ai,x109-10^9\leq a_i,x\leq 10^9

本题采取捆绑测试

  • 子任务 1 (30 分):n2n\leq 2
  • 子任务 2 (30 分):保证序列递增。
  • 子任务 3 (40 分):无特殊限制。

算法周赛 - round25

未参加
状态
已结束
规则
IOI
题目
5
开始于
2025-11-16 19:00
结束于
2025-11-16 21:00
持续时间
2 小时
主持人
参赛人数
29