Submission #7689435


Source Code Expand

#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;

typedef long long ll;

int N;
ll a[200000 + 10], b[200000 + 10];
vector<ll> amod[30], bmod[30];

int main() {
	cin >> N;
	for (int i = 0; i < N; i++)cin >> a[i];
	for (int i = 0; i < N; i++)cin >> b[i];

	for (int k = 1; k <= 30; k++) {
		amod[k - 1].resize(N), bmod[k - 1].resize(N);
		ll bit = (1LL << k);
		for (int i = 0; i < N; i++) {
			amod[k - 1][i] = a[i] % bit;
			bmod[k - 1][i] = b[i] % bit;
		}
	}

	ll ans = 0;

	for (int i = 0; i < 30; i++) {
		sort(bmod[i].begin(), bmod[i].end());
	}

	
	for (int k = 0; k <= 29; k++) {
		ll cnt1 = 0;
		for (int i = 0; i < N; i++) {
			//[2^k, 2 * 2^k)
			cnt1 += (lower_bound(bmod[k].begin(), bmod[k].end(), ((1LL << k) * 2) - amod[k][i]) - 
				lower_bound(bmod[k].begin(), bmod[k].end(), (1LL << k) - amod[k][i]));
			
			//[3 * 2^k, 4 * 2^k)

			cnt1 += (lower_bound(bmod[k].begin(), bmod[k].end(), ((1LL << k) * 4) - amod[k][i]) -
				lower_bound(bmod[k].begin(), bmod[k].end(), ((1LL << k) * 3) - amod[k][i]));
		}
		if (cnt1 & 1) {
			ans += (1LL << k);
		}
	}
	
	cout << ans << endl;

	return 0;
}

Submission Info

Submission Time
Task D - Two Sequences
User Sen
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1188 Byte
Status AC
Exec Time 2173 ms
Memory 97152 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 4
AC × 16
Set Name Test Cases
Sample example_0, example_1, example_2, example_3
All N100000_0, N100000_1, N150000_0, N150000_1, N200000_0, N200000_1, N200000_ex_0, N200000_ex_1, example_0, example_1, example_2, example_3, rand_0, rand_1, smallrand_0, smallrand_1
Case Name Status Exec Time Memory
N100000_0 AC 1002 ms 48896 KiB
N100000_1 AC 1001 ms 48896 KiB
N150000_0 AC 1589 ms 72960 KiB
N150000_1 AC 1586 ms 72960 KiB
N200000_0 AC 2173 ms 97152 KiB
N200000_1 AC 2166 ms 97152 KiB
N200000_ex_0 AC 2047 ms 97152 KiB
N200000_ex_1 AC 2057 ms 97152 KiB
example_0 AC 1 ms 256 KiB
example_1 AC 1 ms 256 KiB
example_2 AC 1 ms 256 KiB
example_3 AC 1 ms 256 KiB
rand_0 AC 48 ms 3456 KiB
rand_1 AC 106 ms 6784 KiB
smallrand_0 AC 1 ms 256 KiB
smallrand_1 AC 1 ms 256 KiB