program FloppyDisk; uses crt; var infile,outfile:text; N: integer; x,y,z: integer; sizes: array[1..25] of integer; minunused: integer; temp:integer; procedure findminimum(currentused:integer;position:integer); var x:integer; begin if currentused <= 1440 then begin if 1440 - currentused < minunused then begin minunused := 1440 - currentused; end; if position <> N then begin for x:= position + 1 to N do begin findminimum(currentused+sizes[x],x); end; end; end; end; begin assign(infile,'DATA21.txt'); reset(infile); assign(outfile,'OUT21.txt'); rewrite(outfile); for x:= 1 to 5 do begin readln(infile,N); for y:= 1 to N do readln(infile,sizes[y]); for y:= 1 to N-1 do for z:= y+1 to N do if sizes[z] > sizes[y] then begin temp:=sizes[z]; sizes[z]:=sizes[y]; sizes[y]:=temp; end; minunused := 1440; for y:= 1 to N do begin findminimum(sizes[y],y); end; writeln(outfile,minunused); end; close(infile); close(outfile); end.