Cod sursa(job #272834)
var n,l,i,a1,b1,q,w,min:integer;
a,b,v:array[1..100] of integer;
f,g:text;
begin
assign (f,'lapte.in');
reset (f);
read (f,n);readln(f,l);
for i:=1 to n do
begin
read (f,a[i]);
read (f,b[i]);
end;
close (f);
a1:=0;b1:=0;
for i:=1 to n do
begin
a1:=a1+a[i];
b1:=b1+b[i];
end;
if l mod a1=0 then
q:=l div a1
else
while l mod a1<>0 do
a1:=a1-1;
q:=l div a1;
if l mod b1=0 then
w:=l div b1
else
while (l mod b1)<>0 do
b1:=b1-1;
w:=l div b1;
for i:=1 to n do
begin
a[i]:=a[i]*q;
b[i]:=b[i]*w;
end;min:=0;
for i:=1 to n do
v[i]:=a[i]+b[i];
for i:=1 to n do
if v[i]>min then
min:=v[i];
write ('Timp min ',min);
assign(g,'lapte.out');
rewrite (g);
writeln (g,min);
for i:=1 to n do
begin
write (g,a[i],' ');
writeln (g,b[i]);
end;
close (g);
end.