<?php
$step = trim(fgets(STDIN));
$rows = [];
while (($row = trim(fgets(STDIN))) !== '') {
$rows[] = explode(' ', $row);
}
$memo = [];
for ($i=0; $i < $step; $i++) {
$result = 0;
for ($j=0; $j <= $i; $j++) {
$result += $rows[0][$j];
}
for ($j=$i; $j < $step; $j++) {
$result += $rows[1][$j];
}
$memo[] = $result;
}
echo max($memo)."\n";
Comment
わー、PHPの人だーっ!珍しい!
ということで、積極的に絡みに来ましたー
たけぱん と申す者ですー
“`
<?php
ini_set('error_reporting', E_ALL & ~E_NOTICE);
fscanf(STDIN, "%d", $N);
$A[] = explode(" ", trim(fgets(STDIN)));
$A[] = explode(" ", trim(fgets(STDIN)));
$ans = $cur = $A[0][0] + array_sum($A[1]);
for ($i = 0; $i < $N; $i++) {
$cur = $cur + $A[0][$i+1] – $A[1][$i];
$ans = max($ans, $cur);
}
echo $ans . PHP_EOL;
“`
こんな感じにすると、多重ループを使わないので、計算量が減らせますー
もしよかったら参考にしてみてください。ではー
コメントありがとうございます!
スマートな実装で大変参考になりました、
これからも時々覗きに来てくださると嬉しいです( ´∀`)