atcoder#ABC299C. [ABC299C] Dango

[ABC299C] Dango

配点 : 300300

問題文

正の整数 LL に対して、 レベル LL のダンゴ文字列とは、以下の条件を満たす文字列です。

  • o- からなる長さ L+1L+1 の文字列である。
  • 先頭の文字と末尾の文字のうちちょうど一方が - であり、そのほかの LL 文字はすべて o である。

例えば、ooo- はレベル 33 のダンゴ文字列ですが、-ooo-ooo-oo- などはダンゴ文字列ではありません(より正確には、どのような正の整数 LL に対してもレベル LL のダンゴ文字列ではありません)。

22 種類の文字 o - からなる、長さ NN の文字列 SS が与えられます。 次の条件を満たすような正整数 XX のうち、最大のものを求めてください。

  • SS の連続する部分文字列であって、レベル XX のダンゴ文字列であるものが存在する。

ただし、そのような整数が存在しない場合、-1 と出力してください。

制約

  • 1N2×1051\leq N\leq 2\times10^5
  • SSo - からなる長さ NN の文字列

入力

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

NN

SS

出力

SS にレベル XX のダンゴ文字列が含まれるような最大の XX の値を 11 行で出力せよ。 そのような値が存在しない場合、-1 を出力せよ。

10
o-oooo---o
4

たとえば、SS33 文字目から 77 文字目までに対応する部分文字列 oooo- は、レベル 44 のダンゴ文字列です。 SS の部分文字列であってレベル 55 以上のダンゴ文字列であるようなものは存在しないため、44 と出力してください。

1
-
-1

SS の連続する部分文字列は空文字列と -22 種類だけです。 これらはダンゴ文字列ではないため、-1 と出力してください。

30
-o-o-oooo-oo-o-ooooooo--oooo-o
7