C - 衣服 (Clothes) 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

配点: 100

問題文

ビーバーのビ太郎は,これから服屋で 0 枚以上の服を購入しようとしている.服屋では全部で 100 種類の服が販売されており, 服の種類には 1 から 100 までの番号が付けられている.服屋にはそれぞれの種類の服の在庫が十分な数用意されており, ビ太郎がいくら服を買っても品切れになることはない.

ビ太郎は,購入した服を着ることで体感温度を調節することができる.気温が t 度であり, ビ太郎が種類 s_1, s_2, \ldots, s_kk 枚の服を着ている場合,ビ太郎の体感温度は t + s_1 + s_2 + \cdots + s_k 度である. ただし,ビ太郎は 0 枚以上の好きな枚数の服を着ることができる (服を着ていない,すなわち k = 0 の場合は体感温度は t 度である). また,ビ太郎は同じ種類の服を一度に複数枚着ることもでき,その種類の服を着た分だけ体感温度は重複して上昇することに注意せよ.

ビ太郎は天気予報により,今後 N 日間の気温は順に A_1 度,A_2 度,\ldotsA_N 度になることを知った.ビ太郎は服屋で適切に服を 購入することで,今後 N 日間のいずれの日も,うまく着る服を選ぶことで体感温度を 23 度にできるようにしたいと考えている. また,そのような服の購入が可能である場合は,購入する服の枚数を最小限にしたいと考えている.

今後 N 日の気温の情報が与えられたとき,ビ太郎がいずれの日も体感温度を 23 度にできるような服の購入は可能であるか判定し, 可能である場合は購入する服の数が最小となるような服の買い方の一例を求めるプログラムを作成せよ.


入力

入力は以下の形式で標準入力から与えられる.

N
A_1 A_2 \cdots A_N

出力

標準出力に以下の形式で出力せよ.

ビ太郎がいずれの日も体感温度を 23 度にできるような服の購入が不可能である場合,No と出力せよ.

ビ太郎がいずれの日も体感温度を 23 度にできるような服の購入が可能である場合,1 行目に Yes と出力せよ. さらに,ビ太郎が購入する服の数の最小値を k とし,購入する k 枚の服の種類をそれぞれ s_1, s_2, \ldots, s_k として, 2 行目に k を出力し,3 行目に k 個の整数 s_1, s_2, \ldots, s_k を空白区切りで出力せよ. k 個の整数 s_1, s_2, \ldots, s_k はどの順番で出力してもよい.また,条件を満たす服の購入の仕方が複数存在する場合,そのうちどれを出力してもよい.


制約

  • 1 \leqq N \leqq 81
  • -40 \leqq A_i \leqq 40 (1 \leqq i \leqq N).
  • A_i < A_{i + 1} (1 \leqq i \leqq N - 1).
  • 入力される値はすべて整数である.

小課題

  1. (6 点) N = 1
  2. (14 点) N \leqq 3
  3. (15 点) A_{i + 1} = A_i + 1 (1 \leqq i \leqq N - 1),A_N = 23
  4. (16 点) A_i \geqq 12 (1 \leqq i \leqq N).
  5. (9 点) A_i \geqq 4 (1 \leqq i \leqq N).
  6. (21 点) A_i \geqq -8 (1 \leqq i \leqq N).
  7. (19 点) 追加の制約はない.

入力例 1

3
17 20 23

出力例 1

Yes
2
3 3

ビ太郎は種類 3 の服を 2 枚購入することで,今後 3 日間のいずれの日も体感温度を 23 度となるようにすることができる.具体的には, 以下のように服を着ることでいずれの日も体感温度が 23 度となるようにすることができる.

  • 1 日目は,種類 3 の服を 2 枚着る.
  • 2 日目は,種類 3 の服を 1 枚着る.
  • 3 日目は,服を 1 枚も着ない.

1 枚以下の服の購入で今後 3 日間のいずれの日も体感温度が 23 度となるようにすることはできない.

この入力例は小課題 2, 4, 5, 6, 7 の制約を満たす.


入力例 2

1
24

出力例 2

No

気温が 24 度の日は体感温度を 23 度となるようにすることができない. したがって,どのように服を購入しても,今後 1 日間のいずれの日も体感温度が 23 度となるようにすることはできない.

この入力例は小課題 1, 2, 4, 5, 6, 7 の制約を満たす.


入力例 3

5
-1 3 6 10 16

出力例 3

Yes
3
4 7 13

この入力例は小課題 6, 7 の制約を満たす.


入力例 4

3
21 22 23

出力例 4

Yes
2
1 1

この入力例は小課題 2, 3, 4, 5, 6, 7 の制約を満たす.