問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
1 行目に整数 N, A, B が与えられます。
2 行目に 'p', 'a', 'i', 'z', 'a'
からなる長さ N の文字列 str が与えられます。
文字列 str の A 文字目から B 文字目までに "piz" は部分文字列として何回あらわれるかを累積和を用いて求め、一行で出力してください。
部分文字列とは、ある文字列の先頭と末尾から 0 文字以上取り除くことによって得られる文字列のことを指します。
例えば、"paiza"
の部分文字列には、"pa", "aiz", "paiza"
が含まれ、"az", "iap", "izapa"
は含まれません。
"piz" をどのように数えるかに注目して解いてみましょう。
1 行目に整数 N, A, B が与えられます。
2 行目に 'p', 'a', 'i', 'z', 'a'
からなる長さ N の文字列 str が与えられます。
N A B
str
文字列 str の A 文字目から B 文字目までに "piz" は部分文字列として何回あらわれるかを累積和を用いて求め、一行で出力してください。
末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ 1 ≦ N ≦ 1,000
・ 1 ≦ A ≦ B ≦ N
・ str は 'p', 'a', 'i', 'z', 'a'
からなる長さ N の文字列
12 1 12
aapizaapizaa
2
12 4 12
aapizaapizaa
1
12 1 9
aapizaapizaa
1