贪心, 最强/最弱的能赢就打,否则自己最弱的打对手最强的。
/**
* Problem:BNB
* Author:Shun Yao
* Time:2013.5.30
* Result:Accepted
* Memo:greedy
*/
#include <cstdio>
#include <algorithm>
long n, x[100000], y[100000];
long solve(long A[], long B[]) {
static long ret, i, j, k, l;
ret = i = j = 0;
k = l = n - 1;
while (i <= k) {
if (A[i] > B[j]) {
ret += 2;
++i;
++j;
} else if (A[k] > B[l]) {
ret += 2;
--k;
--l;
} else {
ret += A[i] == B[l];
++i;
--l;
}
}
return ret;
}
int main() {
static long i;
freopen("bnb.in", "r", stdin);
freopen("bnb.out", "w", stdout);
scanf("%ld", &n);
for (i = 0; i < n; ++i)
scanf("%ld", x + i);
for (i = 0; i < n; ++i)
scanf("%ld", y + i);
std::sort(x, x + n);
std::sort(y, y + n);
printf("%ld %ld", solve(x, y), (n << 1) - solve(y, x));
fclose(stdin);
fclose(stdout);
return 0;
}