【累積和メニュー】> FINAL問題【区間内の個数 (文字列) 】 区間内の個数 (文字列) 4 (paizaランク C 相当) [難易度: 1209 ±39]
※リンク先へ移動するためには[paiza]へのログインが必要です。
1 行目に整数 N, X, Y が与えられます。
2 行目に 'b'
と 'w'
で構成された長さ N の文字列 str が与えられます。
文字列 str の X 文字目から Y 文字目までの 'b'
の個数を累積和を用いて求めてください。
入力値(例)
10 3 8
bwwbwbbwbw
出力値(例)
3
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php list($n, $x, $y) = explode(" ", trim(fgets(STDIN))); $str = trim(fgets(STDIN)); for ($i=0; $i<$n; $i++) { ($str[$i] == "b") ? $b[] = 1 : $b[] = 0; } $s[0] = 0; for ($i=0; $i<$n; $i++) { $s[$i+1] = $s[$i]+$b[$i]; } //print_r($s); echo $s[$y]-$s[$x-1]; ?> |