#ABC200D. 生日快乐

生日快乐

生日快乐

题目描述

给定由 NN 个正整数组成的数列 A=(A1,A2,,AN)A = (A_1, A_2, \dots, A_N)。 请判断是否存在满足以下全部条件的 22 个数列 B=(B1,B2,,Bx)B = (B_1, B_2, \dots, B_x)C=(C1,C2,,Cy)C = (C_1, C_2, \dots, C_y),如果存在,输出其中一组:

  • 1x,yN1 \le x, y \le N
  • 1B1<B2<<BxN1 \le B_1 \lt B_2 \lt \dots \lt B_{x} \le N
  • 1C1<C2<<CyN1 \le C_1 \lt C_2 \lt \dots \lt C_{y} \le N
  • BBCC 是不同的数列。
    • xyx \neq y 时,或者存在某个整数 i (1imin(x,y))i\ (1 \le i \le \min(x, y)) 使得 BiCiB_i \neq C_i 时,认为 BBCC 不同。
  • AB1+AB2++ABxA_{B_1} + A_{B_2} + \dots + A_{B_x} 除以 200200 的余数与 AC1+AC2++ACyA_{C_1} + A_{C_2} + \dots + A_{C_y} 除以 200200 的余数相等。

输入格式

输入按以下格式从标准输入给出:

NN
A1A_1 A2A_2 \dots ANA_N

输出格式

如果不存在满足条件的数列对 B,CB, C,则在一行内输出 No。 如果存在,按以下格式输出 B,CB, C

Yes
x B_1 B_2 ... B_x
y C_1 C_2 ... C_y

另外,判定器不区分英文字母大小写,两者都会被接受。

样例

5
180 186 189 191 218
Yes
1 1
2 3 4

B=(1),C=(3,4)B=(1), C=(3,4),则 A1=180, A3+A4=380A_1 = 180,\ A_3 + A_4 = 380,这两个数除以 200200 的余数相等。

此外,以下输出也会被判定为正确:

yEs
4 2 3 4 5
3 1 2 5
2
123 523
Yes
1 1
1 2
6
2013 1012 2765 2021 508 6971
No

当不存在满足条件的数列对时,请在一行内输出 No

数据范围

  • 输入均为整数
  • 2N2002 \le N \le 200
  • 1Ai1091 \le A_i \le 10^9

提示

答案不唯一,输出任意合法解即可。

难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
2133
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签