atcoder#ABC299C. [ABC299C] Dango
[ABC299C] Dango
题目描述
正の整数 に対して、 レベル のダンゴ文字列とは、以下の条件を満たす文字列です。
o
と-
からなる長さ の文字列である。- 先頭の文字と末尾の文字のうちちょうど一方が
-
であり、そのほかの 文字はすべてo
である。
例えば、ooo-
はレベル のダンゴ文字列ですが、-ooo-
や oo
や o-oo-
などはダンゴ文字列ではありません(より正確には、どのような正の整数 に対してもレベル のダンゴ文字列ではありません)。
種類の文字 o
-
からなる、長さ の文字列 が与えられます。 次の条件を満たすような正整数 のうち、最大のものを求めてください。
- の連続する部分文字列であって、レベル のダンゴ文字列であるものが存在する。
ただし、そのような整数が存在しない場合、-1
と出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
にレベル のダンゴ文字列が含まれるような最大の の値を 行で出力せよ。 そのような値が存在しない場合、-1
を出力せよ。
题目大意
对于一个正整数 ,我们称一个 阶 Dango 是一个满足以下条件的字符串:
- 它是一个仅由字符
o
和-
组成的长度为 的字符串。 - 它的第一个和最后一个字符中有且仅有一个是
-
,其它的 个字符全是o
。
比如说,ooo-
就是一个 阶的 Dango 字符串,而 -ooo-
,oo
,o-oo-
则不是任何一个正整数阶的 Dango 字符串。
给你一个长为 的只由 o
和 -
组成的字符串 ,问在它的所有子串中最长的 Dango 字符串是几阶的。特别地,如果 的所有子串都不是 Dango 字符串,那就输出 -1
。
10
o-oooo---o
4
1
-
-1
30
-o-o-oooo-oo-o-ooooooo--oooo-o
7
提示
制約
- は
o
-
からなる長さ の文字列
Sample Explanation 1
たとえば、 の 文字目から 文字目までに対応する部分文字列 oooo-
は、レベル のダンゴ文字列です。 の部分文字列であってレベル 以上のダンゴ文字列であるようなものは存在しないため、 と出力してください。
Sample Explanation 2
の連続する部分文字列は空文字列と -
の 種類だけです。 これらはダンゴ文字列ではないため、-1
と出力してください。