A
anhtun0997
Chắc suất Đại học top - Giữ chỗ ngay!! ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.
mình làm bài cái túi mà chạy cứ báo lỗi 201- free pascai nhé:
code:
var n,m,i,k,max,a,b:integer;
f:text;
s,t,c,c1:array[1..100] of integer;
procedure doctep;
var i:integer;
begin
assign(f,'xeptui.inp');
reset(f);
read(f,n,m);
for i:=1 to n do
read(f,s,t);
close(f);
end;
procedure sosanh( x,y:integer);
var l:integer;
begin
if x>max then
begin
max:=x;
for l:=1 to y do
c1[l]:=c[l];
end;
end;
procedure tim(i:integer);
var j:integer;
begin
if i>n then sosanh(b,k)
else
for j:=1 to 2 do
if j=1 then
begin
a:=a+s;
b:=b+t;
inc(k);
c[k]:=i;
if a>m then
sosanh(b-t,k-1)
else
tim(i+1);
a:=a-s;
b:=b-t;
dec(k);
end
else
tim(i+1);
end;
procedure ghitep;
var i:integer;
begin
assign(f,'xeptui.out');
rewrite(f);
writeln(f,max);
for i:=1 to n do
write(f,c1[k]:4);
close(f);
end;
Begin
k:=0; a:=0;b:=0;
max:=0;
doctep;
tim(1);
ghitep;
end.
code:
var n,m,i,k,max,a,b:integer;
f:text;
s,t,c,c1:array[1..100] of integer;
procedure doctep;
var i:integer;
begin
assign(f,'xeptui.inp');
reset(f);
read(f,n,m);
for i:=1 to n do
read(f,s,t);
close(f);
end;
procedure sosanh( x,y:integer);
var l:integer;
begin
if x>max then
begin
max:=x;
for l:=1 to y do
c1[l]:=c[l];
end;
end;
procedure tim(i:integer);
var j:integer;
begin
if i>n then sosanh(b,k)
else
for j:=1 to 2 do
if j=1 then
begin
a:=a+s;
b:=b+t;
inc(k);
c[k]:=i;
if a>m then
sosanh(b-t,k-1)
else
tim(i+1);
a:=a-s;
b:=b-t;
dec(k);
end
else
tim(i+1);
end;
procedure ghitep;
var i:integer;
begin
assign(f,'xeptui.out');
rewrite(f);
writeln(f,max);
for i:=1 to n do
write(f,c1[k]:4);
close(f);
end;
Begin
k:=0; a:=0;b:=0;
max:=0;
doctep;
tim(1);
ghitep;
end.