Олимпиадные задачи по программированию. Ч. 4. Лучшие решения. Ускова О.Ф - 58 стр.

UptoLike

Составители: 

begin
t:=a[i];
repeat
j:=1;
s:=0;
repeat
if k[j]=t then s:=1;
j:=j+1
until (s=1)or(j>n);
t:=t+b[i]
until (t>59)or(s=0);
if s=1 then
begin
t:=a[i];
s2:=120;
repeat
for i1:=1 to n do
if (k[i1]=t)and(k[i1]<>s2) then
begin
s2:=k[i1];
k[i1]:=120
end;
t:=t+b[i]
until t>59
end
else b[i]:=0
end;
t:=0;
for i:=1 to n do
if k[i]<>120 then
begin
t:=t+1;
k[t]:=k[i]
end;
n:=t;
y:=0;
for i:=1 to e do
if b[i]<>0 then
begin
y:=y+1;
a[y]:=a[i];