zhujicheng 2012-10-04 00:19:00
点我顶贴
收藏
删除
program ping;
type ty=array [1..2000] of integer;
var m,n,i,k,zo:integer;
ap:ty;
tao:array [1..300] of integer;
procedure paixu(var b:ty; s,t:integer);
var i,j,k:integer;
begin
if s < t then
begin
i:=s;j:=t;k:=b[s];
repeat
while (b[j]<k) and (j>i) do dec(j);
if j>i then begin b[i]:=b[j];inc(i);end;
while (b[i]>k) and (i<j) do inc(i);
if i<j then begin b[j]:=b[i];dec(j);end;
until i=j;
b[i]:=k;
paixu(b,s,i-1);
paixu(b,j+1,t);
end;
end;
begin
readln(n,m);
for i:=1 to n do
readln(ap[i]);
for i:=1 to m do
begin
readln(k);
inc (tao[k]);
end;
paixu(ap,1,n);
for i:= 1 to n do
begin
if tao[ap[i]-1] <>0
then
begin
dec(tao[ap[i]-1]);continue;
end;
dec(ap[i]);if ap[i]-1<=0 then continue;
end;
for i:= 1 to 300 do
zo:=zo+tao[i];
writeln(zo);
end.