問題一覧 > 通常問題

No.1534 おなかがいたい

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 127
作問者 : ゅゅゅゅ / テスター : 57tggx57tggx logxlogx 遭難者遭難者 Re_menal2Re_menal2 とりゐとりゐ
0 ProblemId : 6099 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2021-06-06 18:10:57

問題文

今,ゅゅさんはとてもおなかが痛いです。その旨を SNS に書き込もうとして,ponponpain と入力しました。
しかし,ゅゅさんはたった 10 文字で表せるような痛みではないと思い直し,ponの数でおなかの痛みを表す指標を用いることにしました。
ゅゅさんが考えた指標である「痛み指数」は次の通り定義されます。

  • 痛み指数の値は正の整数である
  • 文字列の先頭から最も左にある pain より左側に,pon がちょうど 2 個含まれる場合,痛み指数は 1 である
  • 最も左にある pain より左側に,pon が 2 個以上含まれる時,pon の個数が 1 増加するごとに,痛み指数も 1 増加する
ただし,次の場合は痛み指数が定義されないものとします。この場合は -1 を出力してください。
  • pain が含まれていない場合
  • 先頭から最も左にある pain までの間に含まれる pon の個数が 2 個に満たない場合
また,以上において文字列 $T$ を文字列 $S$ が含むとは,$S$ の部分文字列に $T$ が現れることを指します。
例えば,ponponponponpain と書き込まれた時のおなかの痛み指数は,3 になります。
書き込まれた文字列 $S$ から,ゅゅさんのおなかの痛み指数を求めてください。

[18:05追記] 部分文字列とは連続部分文字列のことです。

入力

$S$

  • 文字列の長さは最大で $2 \times 10^5$ 字です。
  • 一行で英小文字列が与えられます。
  • [18:10追記]文字列の長さは最小で $1$ 字です。

出力

最後に改行してください。

サンプル

サンプル1
入力
ponponponponponpain
出力
4

サンプル2
入力
ponnpooponpomponpainponponponpain
出力
2

pomnpoo が混じっていますが、これらは痛み指数に反映されません。
また, pain が 2 個以上含まれる場合でも、受け取った文字列の最も左にある pain 以降の文字も痛み指数に反映されません。

サンプル3
入力
ponponponpaim
出力
-1

おなかが痛いわけではないようです。pain が部分文字列として含まれていない場合は,-1を出力してください。

サンプル4
入力
ponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponpomponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponponpain
出力
90

とてもおなかが痛いようです。大丈夫でしょうか。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。