Untitled
unknown
plain_text
2 years ago
3.9 kB
8
Indexable
/* _________________________ | Written by vanshdhawan60 | ---------~u~--------- */ #include <bits/stdc++.h> using namespace std; /*_____________________________ MACRO DEFINITIONS ____________________________*/ #define endl "\n" #define fastio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define int long long // alert! using ll = long long; using ull = unsigned long long; using ld = long double; using vi = vector<int>; using pii = pair<int, int>; using vvi = vector<vi>; using vpii = vector<pii>; //some useful functions and identifiers as macro #define ff first #define ss second #define pb push_back #define set_bits __builtin_popcountll #define sz(x) ((int) (x).size()) #define all(x) (x).begin(), (x).end() #define YES cout<<"YES"<<endl #define NO cout<<"NO"<<endl #define MOD 1000000007 #define PI 3.141592653589793238462 #define rep(i, a, b) for(int i = (a); i < (b); i++) mt19937_64 rang(chrono::high_resolution_clock::now().time_since_epoch().count()); /*______________________ COMMON FUNCTION DEFINITIONS _________________________*/ int mpow(int base, int exp) { //binary exponentiation (modular power) (change MOD if required) base %= MOD; int result = 1; while (exp > 0) { if (exp & 1) result = ((ll)result * base) % MOD; base = ((ll)base * base) % MOD; exp >>= 1; } return result; } int mdivide (int a, int b) { //valid when MOD is prime return ((ll) (a%MOD) * mpow(b,MOD-2)) % MOD; } /*_________________________________ DEBUGGER ________________________________*/ #ifndef ONLINE_JUDGE #define debug(x) cerr << #x <<" "; _print(x); cerr << endl; #else #define debug(x) #endif void _print(ll t) {cerr << t;} //void _print(int t) {cerr << t;} // !enable when using int & ll separately void _print(string t) {cerr << t;} void _print(char t) {cerr << t;} void _print(ld t) {cerr << t;} void _print(double t) {cerr << t;} void _print(ull t) {cerr << t;} template <class T, class V> void _print(pair <T, V> p); template <class T> void _print(vector <T> v); template <class T> void _print(set <T> v); template <class T, class V> void _print(map <T, V> v); template <class T> void _print(multiset <T> v); template <class T, class V> void _print(pair <T, V> p) {cerr << "{"; _print(p.ff); cerr << ","; _print(p.ss); cerr << "}";} template <class T> void _print(vector <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template <class T> void _print(set <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template <class T> void _print(multiset <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template <class T, class V> void _print(map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";} ///// debug code end /*___________________________WRITE CORE LOGIC HERE_____________________*/ void solve () { int n; cin>>n; vi a(n), b(n); rep(i,0,n) cin>>a[i]; rep(i,0,n) cin>>b[i]; vpii temp(n); rep(i,0,n) temp[i] = {a[i] + b[i], i}; sort(temp.rbegin(), temp.rend()); int ans=0, turn=1; for (auto [s, idx]: temp) { if (turn&1) { ans += a[idx]-1; } else ans -= (b[idx]-1); turn ^= 1; } cout << ans << "\n"; } /*___________________________END OF CORE CODE, GoodLuck_____________________*/ signed main() { fastio(); srand(chrono::high_resolution_clock::now().time_since_epoch().count()); int t=1; cin>>t; auto t1 = std::chrono::high_resolution_clock::now(); while(t--) { solve (); } auto t2 = std::chrono::high_resolution_clock::now(); #ifndef ONLINE_JUDGE std::chrono::duration<double, std::milli> ms_double = t2 - t1; cout << "\n\n" << ms_double.count() << "ms\n"; #endif } /* _________________________ | Written by vanshdhawan60 | ---------~u~--------- */
Editor is loading...
Leave a Comment