167382025-05-11 22:43:58BucsMateXorzótáblacpp17Elfogadva 100/1001.059s1984 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms500 KiB
2Elfogadva885ms1724 KiB
subtask214/14
3Elfogadva1ms316 KiB
4Elfogadva4ms316 KiB
5Elfogadva4ms316 KiB
6Elfogadva2ms508 KiB
7Elfogadva8ms408 KiB
8Elfogadva7ms316 KiB
9Elfogadva9ms416 KiB
subtask314/14
10Elfogadva1ms316 KiB
11Elfogadva949ms1972 KiB
12Elfogadva953ms1816 KiB
13Elfogadva1.059s1972 KiB
14Elfogadva1.059s1972 KiB
subtask414/14
15Elfogadva503ms1532 KiB
16Elfogadva688ms1780 KiB
17Elfogadva700ms1728 KiB
18Elfogadva783ms1956 KiB
19Elfogadva782ms1968 KiB
subtask521/21
20Elfogadva104ms892 KiB
21Elfogadva370ms1332 KiB
22Elfogadva558ms1540 KiB
23Elfogadva635ms1892 KiB
24Elfogadva680ms1964 KiB
25Elfogadva479ms1984 KiB
subtask637/37
26Elfogadva71ms548 KiB
27Elfogadva486ms1332 KiB
28Elfogadva833ms1512 KiB
29Elfogadva749ms1704 KiB
30Elfogadva1.059s1964 KiB
31Elfogadva1.057s1964 KiB
32Elfogadva521ms1964 KiB
33Elfogadva1.05s1964 KiB
34Elfogadva1.05s1964 KiB