Cod sursa(job #137621)

Utilizator DanielGGlodeanu Ioan Daniel DanielG Data 17 februarie 2008 12:49:16
Problema Garaj Scor 0
Compilator fpc Status done
Runda preONI 2008, Runda 4, Clasa a 9-a Marime 0.96 kb
var a:array[1..3600] of integer;
b:array[1..3600] of integer;
c:array[1..3600] of integer;
d:array[1..3600] of integer;
tm,s,sst,j,m,n,i,t:longint;
f,g:text;
aux,max:integer;
begin
assign(f,'garaj.in');reset(f);
assign(g,'garaj.out');rewrite(g);
read(f,n);
readln(f,m);
for i:=1 to n do
begin
read(f,a[i]);
readln(f,b[i]);
end;
max:=b[i];
for i:=1 to n-1 do
begin
for j:=i+1 to n do
if a[i]>a[j] then
begin
aux:=a[i];
a[i]:=a[j];
a[j]:=aux;
aux:=b[i];
b[i]:=b[j];
b[j]:=aux;
end;
end;
s:=0;
for i:=1 to n do
s:=s+b[i];
tm:=s div n;
for i:=1 to n do
if b[i]>tm then
begin
for j:=i to n do
begin
b[j]:=b[j+1];
a[j]:=a[j+1];
end;
dec(n);
end;
t:=0;
max:=b[1];
while sst<=m do
begin
for i:=1 to n do
begin
sst:=sst+a[i];
c[i]:=c[i]+a[i];
if sst>m then break;
end;
for j:=2 to i do
begin
d[i]:=d[i]+b[j];
if b[i]>max then max:=b[i];
t:=t+max;
m:=m-sst;
end;
end;
write(g,t*2,' ');
write(g,n);
close(f);
close(g);
end.