var a,b:array[1..2000] of longint;
n,m,i,j,sum:longint;
procedure swap(var x,y:longint);
var temp:longint;
begin
temp:=x;
x:=y;
y:=temp;
end;
procedure qs1(l,r:longint);
var tl,tr,mid:longint;
begin
tl:=l;tr:=r;mid:=a[(tl+tr)div 2];
repeat
while a[tl]<mid do inc(tl);
while a[tr]>mid do dec(tr);
if tl<=tr then begin swap(a[tl],a[tr]);inc(tl);dec(tr);end;
until tl>tr;
if tl<r then qs1(tl,r);
if l<tr then qs1(l,tr);
end;
procedure qs2(l,r:longint);
var tl,tr,mid:longint;
begin
tl:=l;tr:=r;mid:=b[(tl+tr)div 2];
repeat
while b[tl]<mid do inc(tl);
while b[tr]>mid do dec(tr);
if tl<=tr then begin swap(b[tl],b[tr]);inc(tl);dec(tr);end;
until tl>tr;
if tl<r then qs2(tl,r);
if l<tr then qs2(l,tr);
end;
begin
read(n,m);
sum:=0;
for i:=1 to n do read(a[i]);
for i:=1 to m do read(b[i]);
qs1(1,n);
qs2(1,m);
for i:= n downto 1 do
begin
for j:=m downto 1 do
begin
if (b[j]>=0) and (a[i]>b[j]) then begin inc(sum);b[j]:=-1; break;end;
b[j]:=-1;
end;
end;
sum:=m-sum;
write(sum);
end.
有效耗时: 156毫秒
测试结果1: 测试结果错误.错误结果为:966
正确结果应为:967
测试结果2: 测试结果错误.错误结果为:0
正确结果应为:1
测试结果3: 测试结果错误.错误结果为:5
正确结果应为:8
测试结果4: 测试结果错误.错误结果为:142
正确结果应为:145
测试结果5: 测试结果错误.错误结果为:1
正确结果应为:4
测试结果6: 测试结果错误.错误结果为:4
正确结果应为:7
测试结果7: 测试结果错误.错误结果为:20
正确结果应为:24
测试结果8: 测试结果错误.错误结果为:28
正确结果应为:37
测试结果9: 测试结果错误.错误结果为:1
正确结果应为:5
测试结果10: 通过本测试点|有效耗时156ms