K - K-rep Array 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

配点 : 100

問題文

正整数 K について、正整数からなる数列 VK-rep であるとは以下の条件を満たすこととします。

  • 正整数からなる長さ K の数列 B が存在して、B10^{100} 回繰り返した数列 B' が連続部分列として V を含む。

各要素が正整数または -1 である、長さ N の数列 A = (A_1, A_2, \ldots, A_N) が与えられます。K = 1, 2, \ldots, N について、以下の問題を解いてください。

正整数からなる長さ N の数列 V = ( V_1, V_2, \dots, V_N ) であって、A_i \neq -1 ならば V_i = A_i を満たすもののうち、K-rep であるものが存在するか判定してください。

制約

  • 入力は全て整数
  • 1 \leq N \leq 2\times 10^5
  • 1 \leq A_i \leq N または A_i = -1

入力

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

N
A_1 \ A_2 \ \dots \ A_N

出力

長さ N の文字列を出力せよ。i 文字目は K = i とした場合の問題について、条件を満たす数列が存在するとき 1 と、存在しないとき 0 とせよ。


入力例 1

5
1 2 -1 2 1

出力例 1

01011

正整数からなる長さ N の数列 V = ( V_1, V_2, \dots, V_N ) であって、A_i \neq -1 ならば V_i = A_i を満たすものの 1 つとして V = (1, 2, 3, 2, 1) があります。K = 4 について、B = (2, 3, 2, 1) とすると B' は連続部分列として (1, 2, 3, 2, 1) を含むため (1, 2, 3, 2, 1)K-rep です。