#pragma GCC optimize("Ofast", "unroll-loops") #include using namespace std; #define ll long long int main() { int N; cin >> N; vector A(2 * N); for (int i = 0; i < 2 * N; ++i) cin >> A[i]; ll res = 0; int ptr_l = 0, ptr_r = 2 * N - 1; while (ptr_l < ptr_r) { int tmp_l, tmp_r; // 左を取った場合 tmp_l = A[ptr_l] - A[ptr_l + 1]; // 右を取った場合 tmp_r = A[ptr_r] - A[ptr_r - 1]; if (tmp_l >= tmp_r) { res += tmp_l; ptr_l += 2; } else { res += tmp_r; ptr_r -= 2; } } cout << res << endl; return 0; }