【累積和メニュー】> 【連続する N 個の和の最大値】STEP: 1 連続する N 個の和の最大値 1(paizaランク C 相当) [難易度: 1202 ±32]
※リンク先へ移動するためには[paiza]へのログインが必要です。
10 個の整数 a_0, a_1, a_2, ..., a_9 をそれぞれ
1 5 9 7 5 3 2 5 8 4
としたとき、連続する 3 個の整数の和の最大値を、累積和を使うことで求め、一行で出力してください。
入力値(例)
なし
出力値(例)
連続する 3 個の整数の和の最大値を、累積和を使うことで求め、一行で出力してください。
末尾に改行を入れ、余計な文字、空行を含んではいけません。
解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php $a = [1, 5, 9, 7, 5, 3, 2, 5, 8, 4]; $sum[0] = 0; for ($i=0; $i<10; $i++) { $sum[$i+1] = $sum[$i]+$a[$i]; } //print_r($sum); $max_sum = 0; for ($i=0; $i<8; $i++) { $max_sum = max($max_sum, $sum[$i+3]-$sum[$i]); } echo $max_sum; ?> |