贪心
尽可能让最强的赢,最弱的赢,都不行则最弱打最强
感性的想,我肯定要尽可能的赢,而且赢的要对等
实在不能赢就拿最小的拼,所谓的田忌赛马策略
由于总分一定,己方最差即己方最好时对方的分数
1 type list=array[0..100010] of longint; 2 var a,b:list; 3 n,i:longint; 4 5 procedure qsort(var a:list); 6 procedure sort(l,r: longint); 7 var i,j,x,y: longint; 8 begin 9 i:=l; 10 j:=r; 11 x:=a[(l+r) div 2]; 12 repeat 13 while a[i]>x do inc(i); 14 while x>a[j] do dec(j); 15 if not(i>j) then 16 begin 17 y:=a[i]; 18 a[i]:=a[j]; 19 a[j]:=y; 20 inc(i); 21 j:=j-1; 22 end; 23 until i>j; 24 if l<j then sort(l,j); 25 if i<r then sort(i,r); 26 end; 27 28 begin 29 sort(1,n); 30 end; 31 32 function ans(a,b:list):longint; 33 var h1,t1,h2,t2:longint; 34 begin 35 ans:=0; 36 h1:=1; 37 h2:=1; 38 t1:=n; 39 t2:=n; 40 while (h1<=t1) do 41 begin 42 if a[h1]>b[h2] then 43 begin 44 inc(h1); 45 inc(h2); 46 ans:=ans+2; 47 end 48 else if a[t1]>b[t2] then 49 begin 50 dec(t1); 51 dec(t2); 52 ans:=ans+2; 53 end 54 else begin 55 if a[t1]=b[h2] then inc(ans); 56 dec(t1); 57 inc(h2); 58 end; 59 end; 60 end; 61 62 begin 63 readln(n); 64 for i:=1 to n do 65 readln(a[i]); 66 qsort(a); 67 for i:=1 to n do 68 readln(b[i]); 69 qsort(b); 70 writeln(ans(a,b),' ',2*n-ans(b,a)); 71 end.