atcoder#ABC285B. [ABC285B] Longest Uncommon Prefix

[ABC285B] Longest Uncommon Prefix

配点 : 200200

問題文

英小文字からなる長さ NN の文字列 SS が与えられます。 SSxx 文字目 (1xN)(1 \le x \le N)SxS_x です。

i=1,2,,N1i=1,2,\dots,N-1 それぞれについて、以下の条件を全て満たす最大の非負整数 ll を求めてください。

  • l+iNl+i \le N である。
  • 全ての 1kl1 \le k \le l を満たす整数 kk について、 SkSk+iS_{k} \neq S_{k+i} を満たす。

なお、 l=0l=0 は常に条件を満たすことに注意してください。

制約

  • NN2N50002 \le N \le 5000 を満たす整数
  • SS は英小文字からなる長さ NN の文字列

入力

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

NN

SS

出力

N1N-1 行にわたって出力せよ。そのうち xx 行目 (1x<N)(1 \le x < N) には i=xi=x とした場合の答えを整数として出力せよ。

6
abcbac
5
1
2
0
1

この入力では、 S=S= abcbac です。

  • i=1i=1 のとき、 S1S2,S2S3,,S5S6S_1 \neq S_2, S_2 \neq S_3, \dots ,S_5 \neq S_6 であるため、 最大値は l=5l=5 です。
  • i=2i=2 のとき、 S1S3S_1 \neq S_3 ですが S2=S4S_2 = S_4 であるため、 最大値は l=1l=1 です。
  • i=3i=3 のとき、 S1S4,S2S5S_1 \neq S_4, S_2 \neq S_5 ですが S3=S6S_3 = S_6 であるため、 最大値は l=2l=2 です。
  • i=4i=4 のとき、 S1=S5S_1 = S_5 であるため、 最大値は l=0l=0 です。
  • i=5i=5 のとき、 S1S6S_1 \neq S_6 であるため、 最大値は l=1l=1 です。