atcoder#ARC138B. [ARC138B] 01 Generation

[ARC138B] 01 Generation

配点 : 500500

問題文

すぬけくんは,0011 からなる長さ NN の整数列を作ろうとしています. 今すぬけ君は空の数列 xx を持っており,これから以下の 22 種類の操作を好きな順番で NN 回行います.

  • 操作A: xx の要素をすべて flip する.つまり,00 ならば 11 に変え,11 ならば 00 に変える. その後,xx の先頭に 00 を追加する.
  • 操作B: xx の末尾に 00 を追加する.

0011 からなる長さ NN の整数列 A=(A1,A2,,AN)A=(A_1,A_2,\cdots,A_N) が与えられます. xxAA に一致させることが可能かどうか判定してください.

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0Ai10 \leq A_i \leq 1
  • 入力される値はすべて整数

入力

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

NN

A1A_1 A2A_2 \cdots ANA_N

出力

xxAA に一致させることが可能ならば Yes を,不可能ならば No を出力せよ.

4
0 1 1 0
Yes

以下のように操作すればよいです.

  • 始状態:x=()x=()
  • 操作Aを行う.x=(0)x=(0) となる.
  • 操作Bを行う.x=(0,0)x=(0,0) となる.
  • 操作Aを行う.x=(0,1,1)x=(0,1,1) となる.
  • 操作Bを行う.x=(0,1,1,0)x=(0,1,1,0) となる.
4
1 0 0 0
No
4
0 0 0 1
No