AT_abc200_d [ABC200D] Happy Birthday! 2
题目描述
给定一个由 $N$ 个正整数组成的数列 $A = (A_1, A_2, \dots, A_N)$。请判断是否存在满足以下所有条件的两个数列 $B = (B_1, B_2, \dots, B_x)$ 和 $C = (C_1, C_2, \dots, C_y)$,如果存在,请输出其中一组。
- $1 \leq x, y \leq N$。
- $1 \leq B_1 < B_2 < \dots < B_x \leq N$。
- $1 \leq C_1 < C_2 < \dots < C_y \leq N$。
- $B$ 和 $C$ 是不同的数列。
- 当 $x \neq y$ 时,或者存在某个整数 $i\ (1 \leq i \leq \min(x, y))$ 使得 $B_i \neq C_i$ 时,$B$ 和 $C$ 被认为是不同的。
- $A_{B_1} + A_{B_2} + \dots + A_{B_x}$ 除以 $200$ 的余数与 $A_{C_1} + A_{C_2} + \dots + A_{C_y}$ 除以 $200$ 的余数相等。
输入格式
输入以以下格式从标准输入读入。
> $N$ $A_1$ $A_2$ $\dots$ $A_N$
输出格式
如果不存在满足条件的数列组 $B, C$,请输出一行 `No`。
如果存在,请按以下格式输出 $B, C$:
> Yes $x$ $B_1$ $B_2$ $\dots$ $B_x$ $y$ $C_1$ $C_2$ $\dots$ $C_y$
判题器对大小写不敏感,均可接受。
说明/提示
## 限制
- 输入均为整数。
- $2 \leq N \leq 200$
- $1 \leq A_i \leq 10^9$
## 样例解释 1
例如,取 $B=(1), C=(3,4)$,则 $A_1=180, A_3+A_4=380$,这两个数对 $200$ 取余的结果相同。
此外,以下输出也是正确答案之一:
```
yEs 4 2 3 4 5 3 1 2 5
```
## 样例解释 3
如果不存在满足条件的数列组,请输出一行 `No`。
由 ChatGPT 4.1 翻译