CF961F.k-substrings

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a string ss consisting of nn lowercase Latin letters.

Let's denote kk -substring of ss as a string subsk=sksk+1..sn+1ksubs_{k}=s_{k}s_{k+1}..s_{n+1-k} . Obviously, subs1=ssubs_{1}=s , and there are exactly such substrings.

Let's call some string tt an odd proper suprefix of a string TT iff the following conditions are met:

  • T>t|T|>|t| ;
  • t|t| is an odd number;
  • tt is simultaneously a prefix and a suffix of TT .

For evey kk -substring () of ss you have to calculate the maximum length of its odd proper suprefix.

输入格式

The first line contains one integer nn (2<=n<=106)(2<=n<=10^{6}) — the length ss .

The second line contains the string ss consisting of nn lowercase Latin letters.

输出格式

Print integers. ii -th of them should be equal to maximum length of an odd proper suprefix of ii -substring of ss (or 1-1 , if there is no such string that is an odd proper suprefix of ii -substring).

输入输出样例

  • 输入#1

    15
    bcabcabcabcabca
    

    输出#1

    9 7 5 3 1 -1 -1 -1
    
  • 输入#2

    24
    abaaabaaaabaaabaaaabaaab
    

    输出#2

    15 13 11 9 7 5 3 1 1 -1 -1 1
    
  • 输入#3

    19
    cabcabbcabcabbcabca
    

    输出#3

    5 3 1 -1 -1 1 1 -1 -1 -1
    

说明/提示

The answer for first sample test is folowing:

  • 1-substring: bcabcabcabcabca
  • 2-substring: cabcabcabcabc
  • 3-substring: abcabcabcab
  • 4-substring: bcabcabca
  • 5-substring: cabcabc
  • 6-substring: abcab
  • 7-substring: bca
  • 8-substring: c
首页