Имеется набор натуральных чисел, быть может, с повторениями. Необходимо разделить его на два поднабора так, чтобы разность сумм весов была минимальной. Эта задача решается рекурсивным методом полного перебора с отсечением (см. ниже). На вход были поданы числа 36 72 45 2 38 96 15 2 2. При какой глубине стека контекстов произойдет завершение работы программы (обращение к завершающей процедуре out())? {массив а хранит веса всех предметов, в порядке их ввода, half - "большая" половина суммы всех весов, dif - отклонение текущей найденной суммы от half}procedure rec(k: byte; sum: longint; var dif: longint);var i: byte;begin if sum+a[k]<=half then for i:= k+1 to n do rec(i,sum+a[k],dif) else if half-sum<dif then begin dif:= half-sum; if dif<2 then out(dif){печать и завершение} endend;
(Отметьте один правильный вариант ответа.)
Варианты ответа
0
4(Верный ответ)
1
9
7