| 16738 | 2025-05-11 22:43:58 | BucsMate | Xorzótábla | cpp17 | Accepted 100/100 | 1.059s | 1984 KiB |
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int N, M;
cin >> N >> M;
vector<int> A(N), B(M);
for(int i = 0; i < N; i++){
cin >> A[i];
}
for(int i = 0; i < M; i++){
cin >> B[i];
}
long long ans = 0;
for(int mask = 0; mask < 31; mask++){
//bitenkent meghatarozzuk az 1-esek szamat
long long x = (1LL << mask), y = (1LL << (mask+1));
vector<int> tempA(N), tempB(M);
for (int i = 0; i < N; i++) {
tempA[i] = A[i] % y;
}
for (int i = 0; i < M; i++) {
tempB[i] = B[i] % y;
}
sort(tempA.begin(), tempA.end());
sort(tempB.begin(), tempB.end());
long long cnt = 0;
for(int j = 0; j < N; j++){
int left = lower_bound(tempB.begin(), tempB.end(), x-tempA[j])-tempB.begin();
int right = lower_bound(tempB.begin(), tempB.end(), y-tempA[j])-tempB.begin();
int valami = lower_bound(tempB.begin(), tempB.end(), (x+y)-tempA[j])-tempB.begin();
//a valami azert kell, mert lehet tulcsordulas a kovetkezo bitbe
cnt += right-left + M - valami;
}
if(cnt % 2 == 1){
ans += (1 << mask);
}
}
cout << ans << endl;
return 0;
}| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 500 KiB | ||||
| 2 | Accepted | 885ms | 1724 KiB | ||||
| subtask2 | 14/14 | ||||||
| 3 | Accepted | 1ms | 316 KiB | ||||
| 4 | Accepted | 4ms | 316 KiB | ||||
| 5 | Accepted | 4ms | 316 KiB | ||||
| 6 | Accepted | 2ms | 508 KiB | ||||
| 7 | Accepted | 8ms | 408 KiB | ||||
| 8 | Accepted | 7ms | 316 KiB | ||||
| 9 | Accepted | 9ms | 416 KiB | ||||
| subtask3 | 14/14 | ||||||
| 10 | Accepted | 1ms | 316 KiB | ||||
| 11 | Accepted | 949ms | 1972 KiB | ||||
| 12 | Accepted | 953ms | 1816 KiB | ||||
| 13 | Accepted | 1.059s | 1972 KiB | ||||
| 14 | Accepted | 1.059s | 1972 KiB | ||||
| subtask4 | 14/14 | ||||||
| 15 | Accepted | 503ms | 1532 KiB | ||||
| 16 | Accepted | 688ms | 1780 KiB | ||||
| 17 | Accepted | 700ms | 1728 KiB | ||||
| 18 | Accepted | 783ms | 1956 KiB | ||||
| 19 | Accepted | 782ms | 1968 KiB | ||||
| subtask5 | 21/21 | ||||||
| 20 | Accepted | 104ms | 892 KiB | ||||
| 21 | Accepted | 370ms | 1332 KiB | ||||
| 22 | Accepted | 558ms | 1540 KiB | ||||
| 23 | Accepted | 635ms | 1892 KiB | ||||
| 24 | Accepted | 680ms | 1964 KiB | ||||
| 25 | Accepted | 479ms | 1984 KiB | ||||
| subtask6 | 37/37 | ||||||
| 26 | Accepted | 71ms | 548 KiB | ||||
| 27 | Accepted | 486ms | 1332 KiB | ||||
| 28 | Accepted | 833ms | 1512 KiB | ||||
| 29 | Accepted | 749ms | 1704 KiB | ||||
| 30 | Accepted | 1.059s | 1964 KiB | ||||
| 31 | Accepted | 1.057s | 1964 KiB | ||||
| 32 | Accepted | 521ms | 1964 KiB | ||||
| 33 | Accepted | 1.05s | 1964 KiB | ||||
| 34 | Accepted | 1.05s | 1964 KiB | ||||