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