//一般人が購入したアイテムの番号集合をSとすると、 //sum(A, S) - sum(B, all - S) //= sum(A, S) - sum(B, all) + sum(B, S) = -sumB + sum(A + B, S) //と変形できるので、一般人は A + Bが小さい方から取ればいい。 //MMA部員は小さいのを先に取れなくしたいので A + B が小さい方から取ればOK。 //結局、交互に取る形になる。 #include #include #include #include #define rep(i, n) for(i = 0; i < n; i++) #define int long long using namespace std; int n; int a[2000]; int b[2000]; signed main() { int i; cin >> n; rep(i, 2 * n) cin >> a[i]; rep(i, 2 * n) cin >> b[i]; vector vec; rep(i, 2 * n) vec.push_back(a[i] + b[i]); sort(vec.begin(), vec.end()); int ans = 0; rep(i, 2 * n) ans -= b[i]; rep(i, n) ans += vec[i * 2]; cout << ans << endl; return 0; }