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