题目描述
N 個の正整数からなる数列 A = (A1, A2, …, AN) が与えられます。 以下の条件を全て満たす 2 つの数列 $ B\ =\ (B_1,\ B_2,\ \dots,\ B_x),\ C\ =\ (C_1,\ C_2,\ \dots,\ C_y) $ が存在するか判定し、存在する場合はひとつ出力してください。
- 1 < = x, y < = N
- 1 ≤ B1 < B2 < … < Bx ≤ N
- 1 ≤ C1 < C2 < … < Cy ≤ N
- B と C は、異なる数列である。
- x = y のとき、または、ある整数 i (1 < = i < = min(x, y)) が存在して Bi = Ci であるとき、B と C は異なるものとする。
- AB1 + AB2 + … + ABx を 200 で割った余りと AC1 + AC2 + … + ACy を 200 で割った余りが等しい。
输入格式
入力は以下の形式で標準入力から与えられる。
N A1 A2 … AN
输出格式
条件を満たす数列の組 B,C が存在しない場合、1 行に No
と出力せよ。 存在する場合、以下の形式で B,C を出力せよ。
Yes x B1 B2 … Bx y C1 C2 … Cy
なお、正誤判定器は英大文字と英小文字を区別せず、どちらも受理する。
题目大意
给你一个含有 N 个正整数的序列 A,请你构造两个序列 B 和 C。
设这两个序列长度分别为 x 和 y,则应满足:
- 1≤x,y≤N
- 1≤Bi,Ci≤N 且两序列均严格递增
- B 与 C 互异
- $\displaystyle \sum_{i=1}^{x} A_{B_i} \equiv \sum_{j=1}^{y} A_{c_i} (\bmod\space200)$
其中互异的定义:若 x=y 或 x=y 但存在一个位置 i 使得 Bi=Ci,则 B 与 C 互异。
5
180 186 189 191 218
Yes
1 1
2 3 4
2
123 523
Yes
1 1
1 2
6
2013 1012 2765 2021 508 6971
No
提示
制約
- 入力はすべて整数
- 2 ≤ N ≤ 200
- 1 ≤ Ai ≤ 109
Sample Explanation 1
B=(1),C=(3,4) とすると、A1 = 180, A3 + A4 = 380 となり、この 2 つを 200 で割った余りは等しくなります。 他にも、以下のような出力も正答として扱われます。 yEs 4 2 3 4 5 3 1 2 5
Sample Explanation 3
条件を満たす数列の組が存在しない場合、1 行に No
と出力してください。