Pagini recente » Cod sursa (job #2848406) | Cod sursa (job #2746942) | Cod sursa (job #1758591) | Cod sursa (job #1066415) | Cod sursa (job #43162)
Cod sursa(job #43162)
type vector=array[0..10000]of longint;
var v,x,z,a,b,c:vector;
p,n,m,i,j,nr:longint;
function dif(var v,x:vector):boolean;
var i:longint;
begin
dif:=false;
for i:=1 to x[0] do
if x[i]<>v[i] then begin dif:=true;break;end;
end;
begin
assign(input,'nextseq.in');reset(input);
assign(output,'nextseq.out');rewrite(output);
readln(n,m,p);
for i:=1 to n do read(v[i]);
for i:=1 to m do read(x[i]);
for i:=1 to p do read(z[i]);
for i:=1 to n do begin
nr:=0;
for j:=1 to n do if v[j]<=v[i] then inc(nr);
a[i]:=nr;
end;
for i:=1 to m do begin
for j:=1 to n do if x[i]=v[j] then begin b[i]:=a[j];break;end;
end;
for i:=1 to p do begin
for j:=1 to n do if z[i]=v[j] then begin c[i]:=a[j];break;end;
end;
nr:=0;
for i:=1 to m div 2 do begin
nr:=b[i];b[i]:=b[m-i+1];b[m-i+1]:=nr;
end;
for i:=1 to p div 2 do begin
nr:=c[i];c[i]:=c[p-i+1];c[p-i+1]:=nr;
end;
b[0]:=m;c[0]:=p;nr:=0;
while dif(b,c) do begin
i:=1;
while b[i]=n do begin
b[i]:=1;
inc(i);
end;
inc(b[i]);
if b[b[0]+1]>0 then inc(b[0]);
inc(nr);
end;
writeln(nr-1);
close(input);close(output);
end.