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