同田忌赛马
1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cstring> 5 #include <cstdlib> 6 using namespace std; 7 8 const int N=200000; 9 int a[N],b[N],n; 10 11 int f(int a[],int b[]){ 12 int ans=0,l1=1,r1=n,l2=1,r2=n; 13 while(l1<=r1&&l2<=r2){ 14 if(a[l1]>b[l2])ans+=2,l1++,l2++; 15 else if(a[r1]>b[r2])ans+=2,r1--,r2--; 16 else ans+=(a[l1]==b[r2]),l1++,r2--; 17 } 18 return ans; 19 } 20 21 int main(){ 22 scanf("%d",&n); 23 for(int i=1;i<=n;i++)scanf("%d",&a[i]); 24 for(int i=1;i<=n;i++)scanf("%d",&b[i]); 25 sort(a+1,a+1+n); 26 sort(b+1,b+1+n); 27 printf("%d %d\n",f(a,b),2*n-f(b,a)); 28 }