1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #include <bits/stdc++.h> using namespace std;
const int N = 100005; int n, a[N], b[N];
int solve(int *a, int *b) { int l1 = 1, r1 = n, l2 = 1, r2 = n, res = 0; while (l1 <= r1 && l2 <= r2) { if (a[l1] > b[l2]) res += 2, l1++, l2++; else if (a[r1] > b[r2]) res += 2, r1--, r2--; else res += (a[l1] == b[r2]), l1++, r2--; } return res; }
int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%d", &a[i]); for (int i = 1; i <= n; i++) scanf("%d", &b[i]); sort(a + 1, a + 1 + n), sort(b + 1, b + 1 + n); printf("%d %d", solve(a, b), n + n - solve(b, a)); return 0; }
|