$p) // якщо сума вкладень більша за попередню сумму { $p = $f[$i-1][$j-$k] + $b[$i][$k]; $l = $k; // запам'ятати кількість вкладених монет } } $f[$i][$j] = $p; // максимальний дохід від j монет та i банкірів $q[$i][$j] = $l; // при максимальному доході від j монет кількість монет, наданих банкіру i } } $p = $f[$n][$m]; // максимальний дохід від m монет та n банкірів $i = $n; // починаючи з останнього банкіра do { $x[$i] = $q[$i][$m]; // сума витрачена на поточного банкіра $m = $m - $x[$i]; // кількість монет для попередніх банкірів $i--; // переходимо до попереднього банкіра } while ($m!=0); // поки є вільні монети $o = $p."\n"; // запис результату в рядок result for ($i = 1; $i <= $n; $i++) $o = $o."$x[$i] "; $o = $o."\n"; fwrite($fo,$o."\n"); fclose($fo); echo "Все зроблено!"; ?>