#Lutece3303. 叠
叠
Description
在传统下落式音乐游戏中,音符(note)在特定时刻出现在特定位置,玩家需要按正确的按键以获得分数。轨道是对应着相同按键的音符的轨迹。叠(Jack),又称叠键,是一种在同一轨道连续出现多个音符的键型。下图是一个叠的例子。
由于某些原因,玩家会形成错误的肌肉记忆,wwawwaww 也一样。一条轨道的信息可以用长度为 的序列 表示, 表示第 个时刻是否存在音符。 表示第 个时刻无音符, 表示第 个时刻有一个音符。对于一条特定的轨道,他记住了叠的压缩序列 ,过程如下:
-
选出 个区间 ,满足:
- ;
- 对于在 的每个整数 ,有 ;
- 若下标 属于这些区间的并集,则 ,否则 。
容易证明在上述条件下 和这些区间是唯一确定的。
-
对于 中的每个整数 ,令 。
显然,可能存在多种不同的序列 能得到相同的序列 。wwawwaww 现在只知道序列 和原始序列 的长度 。但是在得到 后又忘记了 中每个元素具体的值。他想求对 中的每个整数 ,能否确认 的值。为了尽快改掉这一不好的习惯和获得时间多练,他请您来解决这一问题。
Input
第一行包含两个整数 (),分别表示序列 的长度和序列 的长度。
第二行包含 个整数 ($len_1,\ldots ,len_m\ge 1,m-1+\sum_{j=1}^m len_j\le n$),第 个数表示 。
Output
输出一个长为 的字符串 ,若能确定 ,则 ,若能确定 ,则 ,否则 (下标从 开始)。
Samples
7 2
2 3
?1??11?
4 2
2 1
1101
6 3
1 1 1
??????
Note
对于第一个样例,所有可能的 为 $\{1,1,0,1,1,1,0\},\{1,1,0,0,1,1,1\},\{0,1,1,0,1,1,1\}$。 必定为 ,其余位置都可能有两种取值。
Resources
电子科技大学第十三届 ACM 趣味程序设计竞赛