logo AlgoBeat OnlineJudge 返回比赛
登录 注册

D. [Algo Beat Contest 009 & MROI Round 1] Avoid K Prefix

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

小 S 给了你一个只包含整数的数组 和一个整数

你需要选择恰好一个区间 ),并把这个区间反转恰好一次

小 S 问你是否能使操作后的数组不存在任意一个非空前缀和等于 。即:

  • 记反转后的数组为
  • ),满足所有

输入格式

第一行输入一个整数 ,表示有 组数据。

对于每组数据:

  • 第一行输入两个整数
  • 第二行输入 个整数

输出格式

对于每组数据:

  • 第一行输出 YesNo,代表是否存在方案。
  • 如果 Yes紧跟着 Yes 后面输出两个数 (用一个空格隔开;);否则什么都不要多输出。
  • 如果存在多种合法方案,输出任意一种即可。

样例

输入 #1

10
1 5
3
1 3
3
3 3
3 0 3
4 5
3 2 3 2
5 8
3 3 2 3 0
6 11
3 3 3 2 3 0
3 -5
-3 -2 -3
5 0
2 -2 2 -2 5
3 1000000002
1000000000 2 1000000000
2 1
1 1

输出 #1

Yes 1 1
No
No
Yes 2 3
Yes 3 4
Yes 4 5
Yes 2 3
Yes 1 5
Yes 2 3
No

数据范围与提示

【样例 1 解释】

  • 第一组:反转 (不变),
  • 第二组: 总是为 ,不存在合法方案;
  • 第八组:反转 ,不存在

【数据范围】

本题采用捆绑测试与子任务依赖。

对于所有的数据,保证

Subtask 分值 特殊限制 依赖 Subtask
1 对于所有 ,满足
2 ^
3 如果答案为 Yes,那么一定存在一种反转方式满足
4 无特殊限制