#ARC138B. 01 Generation

01 Generation

01 Generation

时间限制:2s
空间限制:512MB

题目描述

你想构造一个只包含 00 和 11 的长度为 NN 的整数序列。初始时,你有一个空序列 xx,接下来需要以任意顺序执行以下两种操作共 NN 次。

  • 操作 A:先将 xx 的所有元素翻转,即把 00 变为 11、把 11 变为 00,然后在 xx 的开头添加一个 00。
  • 操作 B:在 xx 的末尾添加一个 00。

给定一个只包含 00 和 11 的长度为 NN 的整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N),请判断能否通过上述操作使 xx 与 AA 完全相同。

输入格式

输入共两行。

第一行包含一个整数 NN。

第二行包含 NN 个整数 A1,A2,…,ANA_1,A_2,\ldots,A_N。

输出格式

如果能够构造出 AA,输出 Yes;否则输出 No。

样例输入 1

4
0 1 1 0

样例输出 1

Yes

样例解释 1

依次执行操作 A、操作 B、操作 A、操作 B,序列会按照

()→(0)→(0,0)→(0,1,1)→(0,1,1,0)()\to(0)\to(0,0)\to(0,1,1)\to(0,1,1,0)

变化,因此可以构造出给定序列。

样例输入 2

4
1 0 0 0

样例输出 2

No

样例输入 3

4
0 0 0 1

样例输出 3

No

数据范围

对于所有数据,1≤N≤2×1051\le N\le 2\times 10^5,Ai∈{0,1}A_i\in\{0,1\}。

子任务编号 分值 特殊限制
1 10 N≤20N\le 20
2 25 N≤2000N\le 2000
3 35 N≤80000N\le 80000
4 30 无特殊限制