【累積和メニュー】> 【区間内の個数】STEP: 3 区間内の個数 3 (paizaランク C 相当) [難易度: 1179 ±38]
※リンク先へ移動するためには[paiza]へのログインが必要です。
1 行目に整数 X, Y が与えられます。
2 行目に 10 個の整数 a_0, a_1, a_2, ..., a_9 が与えられます。
この数列の a_X から a_Y までの偶数の個数を、累積和を使うことで求め、一行で出力してください。
入力値(例)
2 7
1 2 3 4 5 6 7 8 9 10
出力値(例)
3
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php list($x, $y) = explode(" ", trim(fgets(STDIN))); $a = explode(" ", trim(fgets(STDIN))); for ($i=0; $i<10; $i++) { ($a[$i] % 2 == 0) ? $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+1]-$s[$x]; ?> |