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