atcoder#ARC080D. [ARC080F] Prime Flip

[ARC080F] Prime Flip

配点 : 12001200

問題文

無限枚のカードがあります。 カードには 11, 22, 33, ...... と番号が振られています。 最初、カード x1x_1, x2x_2, ......, xNx_N は表向きで、それら以外のカードは裏向きです。

すぬけ君は次の操作を繰り返し行うことができます。

  • 33 以上の素数 pp を選ぶ。 番号が連続する pp 枚のカードを選び、それらすべてをひっくり返す。

すぬけ君の目標は、すべてのカードを裏向きにすることです。 すぬけ君が目標を達成するために必要な操作回数の最小値を求めてください。

制約

  • 1N1001 \leq N \leq 100
  • 1x1<x2<...<xN1071 \leq x_1 < x_2 < ... < x_N \leq 10^7

入力

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

NN

x1x_1 x2x_2 ...... xNx_N

出力

すぬけ君が目標を達成するために必要な操作回数の最小値を出力せよ。

2
4 5
2

例えば、次の順に操作を行えばよいです。

  • p=5p = 5 を選び、カード 11, 22, 33, 44, 55 をひっくり返す。
  • p=3p = 3 を選び、カード 11, 22, 33 をひっくり返す。
9
1 2 3 4 5 6 7 8 9
3

例えば、次の順に操作を行えばよいです。

  • p=3p = 3 を選び、カード 11, 22, 33 をひっくり返す。
  • p=3p = 3 を選び、カード 44, 55, 66 をひっくり返す。
  • p=3p = 3 を選び、カード 77, 88, 99 をひっくり返す。
2
1 10000000
4