AT_abc299_c [ABC299C] Dango
Description
[problemUrl]: https://atcoder.jp/contests/abc299/tasks/abc299_c
正の整数 $ L $ に対して、 レベル $ L $ のダンゴ文字列とは、以下の条件を満たす文字列です。
- `o` と `-` からなる長さ $ L+1 $ の文字列である。
- 先頭の文字と末尾の文字のうちちょうど一方が `-` であり、そのほかの $ L $ 文字はすべて `o` である。
例えば、`ooo-` はレベル $ 3 $ のダンゴ文字列ですが、`-ooo-` や `oo` や `o-oo-` などはダンゴ文字列ではありません(より正確には、どのような正の整数 $ L $ に対してもレベル $ L $ のダンゴ文字列ではありません)。
$ 2 $ 種類の文字 `o` `-` からなる、長さ $ N $ の文字列 $ S $ が与えられます。 次の条件を満たすような正整数 $ X $ のうち、最大のものを求めてください。
- $ S $ の連続する部分文字列であって、レベル $ X $ のダンゴ文字列であるものが存在する。
ただし、そのような整数が存在しない場合、`-1` と出力してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S $
Output Format
$ S $ にレベル $ X $ のダンゴ文字列が含まれるような最大の $ X $ の値を $ 1 $ 行で出力せよ。 そのような値が存在しない場合、`-1` を出力せよ。
Explanation/Hint
### 制約
- $ 1\leq\ N\leq\ 2\times10^5 $
- $ S $ は `o` `-` からなる長さ $ N $ の文字列
### Sample Explanation 1
たとえば、$ S $ の $ 3 $ 文字目から $ 7 $ 文字目までに対応する部分文字列 `oooo-` は、レベル $ 4 $ のダンゴ文字列です。 $ S $ の部分文字列であってレベル $ 5 $ 以上のダンゴ文字列であるようなものは存在しないため、$ 4 $ と出力してください。
### Sample Explanation 2
$ S $ の連続する部分文字列は空文字列と `-` の $ 2 $ 種類だけです。 これらはダンゴ文字列ではないため、`-1` と出力してください。