100 atcoder#ABC134D. [ABC134D] Preparing Boxes

[ABC134D] Preparing Boxes

配点 : 400400

問題文

NN 個の空の箱が横一列に並んでいます。 左から ii  (1iN)\ (1 \leq i \leq N) 番目の箱には整数 ii が書かれています。

すぬけさんは、それぞれの箱に対してボールを 11 個入れるか何も入れないかを選ぶことができます。

ここで、以下の条件を満たすようなボールの入れ方を、いいボールの入れ方と定めます。

  • 11 以上 NN 以下の任意の整数 ii について、ii の倍数が書かれた箱に入っているボールの個数の和を 22 で割った余りが aia_i である。

いいボールの入れ方は存在するでしょうか。存在するならば 11 つ求めてください。

制約

  • 入力は全て整数である。
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • aia_i00 または 11 である。

入力

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

NN

a1a_1 a2a_2 ... aNa_N

出力

いいボールの入れ方が存在しないなら -1 を出力せよ。

存在するならば、そのような入れ方のうちの 11 つを以下の形式で出力せよ。

MM

b1b_1 b2b_2 ...... bMb_M

ここで MM はボールを入れる箱の個数を表し、b1, b2, ..., bMb_1,\ b_2,\ ...,\ b_M はボールを入れる箱に書かれた整数を任意の順番に並べたものである。

3
1 0 0
1
1

11 が書かれた箱だけにボールを入れることを考えます。

  • 11 の倍数が書かれた箱は、11 が書かれた箱、22 が書かれた箱、33 が書かれた箱の 33 個です。これらの箱に入っているボールの個数の和は 11 です。
  • 22 の倍数が書かれた箱は、22 が書かれた箱の 11 個だけです。これらの箱に入っているボールの個数の和は 00 です。
  • 33 の倍数が書かれた箱は、33 が書かれた箱の 11 個だけです。これらの箱に入っているボールの個数の和は 00 です。

以上より、11 が書かれた箱だけにボールを入れるのは、与えられた条件を満たすいいボールの入れ方です。

5
0 0 0 0 0
0

ボールを 11 つも入れない入れ方が、いい入れ方になる場合もあります。