atcoder#ABC264G. [ABC264G] String Fair
[ABC264G] String Fair
配点 : 点
問題文
文字列品評会では、英小文字のみからなる空でない文字列 に対して、その「美しさ」を決定します。
文字列 の美しさは、 個の審査項目の点数の和として定められます。 について、 番目の審査項目の点数は 「文字列 (入力で与えられる長さ 3 以下の文字列)が に連続な部分文字列として含まれる回数」に を掛けて得られる値です。
英小文字のみからなる空でない文字列 の美しさとしてあり得る最大値を出力して下さい。
ただし、美しさとしていくらでも大きい値が考えられる場合は、代わりに Infinity
と出力して下さい。
ここで、文字列 に文字列 が連続な部分列として含まれる回数とは、 を満たす整数 であって を満たすものの個数です。
制約
- は整数
- は英小文字のみからなる長さ 以上 以下の文字列
- は整数
入力
入力は以下の形式で標準入力から与えられる。
出力
英小文字のみからなる空でない文字列 の美しさとしてあり得る最大値を出力せよ。
ただし、美しさとしていくらでも大きい値が考えられる場合は、代わりに Infinity
と出力せよ。
3
a -5
ab 10
ba -20
Infinity
例えば、 abzabz
について、
- 番目の審査項目の点数は、
a
が に連続な部分列として含まれる回数が 回であることから、 点 - 番目の審査項目の点数は、
ab
が に連続な部分列として含まれる回数が 回であることから、 点 - 番目の審査項目の点数は、
ba
が に連続な部分列として含まれる回数が 回であることから、 点
であるので、 の美しさは となります。
別の例として、 abzabzabz
について、
- 番目の審査項目の点数は、
a
が に連続な部分列として含まれる回数が 回であることから、 点 - 番目の審査項目の点数は、
ab
が に連続な部分列として含まれる回数が 回であることから、 点 - 番目の審査項目の点数は、
ba
が に連続な部分列として含まれる回数が 回であることから、 点
であるので、 の美しさは となります。
一般に、正の整数 について、abz
を 回繰り返した文字列の美しさは となります。
の美しさとしていくらでも大きい値が考えられるため、Infinity
を出力します。
28
a -5
ab 10
ba -20
bb -20
bc -20
bd -20
be -20
bf -20
bg -20
bh -20
bi -20
bj -20
bk -20
bl -20
bm -20
bn -20
bo -20
bp -20
bq -20
br -20
bs -20
bt -20
bu -20
bv -20
bw -20
bx -20
by -20
bz -20
5
ab
が考えられる美しさの最大値を達成します。
26
a -1
b -1
c -1
d -1
e -1
f -1
g -1
h -1
i -1
j -1
k -1
l -1
m -1
n -1
o -1
p -1
q -1
r -1
s -1
t -1
u -1
v -1
w -1
x -1
y -1
z -1
-1
は空でない文字列でなければならないことに注意して下さい。