Pagini recente » Cod sursa (job #141560) | Cod sursa (job #587153) | Cod sursa (job #2433399) | Cod sursa (job #1865039) | Cod sursa (job #169044)
Cod sursa(job #169044)
const bz=3500001;
type loto=record
a1,a2,a3,a4:longint;
end;
point=^nod;
nod=record
el:longint;
ua:point;
end;
var f1,f2:text;
ind,x,i,j,g,nr,n,s,m,dimh:longint;
ok:boolean;
z:array[1..100] of longint;
a:array[1..1000000] of loto;
l:array[0..bz+2] of point;
procedure clad(loc,x:longint);
var p:point;
begin
new(p);
p^.el:=x;
p^.ua:=l[loc];
l[loc]:=p;
end;
procedure cauta(loc:longint);
var p:point;
begin
p:=l[loc];
while p<>nil do
begin
if a[p^.el].a1+a[i].a1=s then
begin
j:=p^.el;
ok:=true;
break;
end
else p:=p^.ua;
end;
end;
begin
assign(f1,'loto.in');
reset(f1);
assign(f2,'loto.out');
rewrite(f2);
read(f1,n,s);
for i:=1 to n do
read(f1,z[i]);
for i:=1 to n do
for j:=i to n do
for g:=j to n do
begin
inc(ind);
a[ind].a1:=z[i]+z[j]+z[g];
a[ind].a2:=z[i];
a[ind].a3:=z[j];
a[ind].a4:=z[g];
clad(a[ind].a1 mod bz,ind);
end;
ok:=false;
for i:=1 to ind do
begin
cauta((s-a[ind].a1) mod bz);
if ok=true then
begin
writeln(f2,a[i].a2,' ',a[i].a3,' ',a[i].a4,' ',a[j].a2,' ',a[j].a3,' ',a[j].a4);
break;
end
end;
if ok=false then
writeln(f2,-1);
close(f1);
close(f2);
end.