Реализация рекурсивного алгоритма
program pohod_rec; var f: text; a: array[1..100] of integer; n: integer; min,obsh_ves: longint; procedure step(t:byte; ves:longint); var j: longint; begin j:= abs(obsh_ves - 2*ves); if j<min then min:= j; for j:= t+1 to n do step(j,ves+a[t]); end;
begin assign(f,'in'); reset(f); n:=0; {кол-во всех предметов} obsh_ves:= 0; while not eof(f) do begin inc(n); read(f,a[n]); inc(obsh_ves,a[n]); end; close(f); min:= MaxLongInt;
step(1,0); writeln('difference ',min) end.