105402024-04-04 18:45:13CWMXorzótáblacpp17Időlimit túllépés 0/1002.099s6672 KiB
#include <iostream>
#include <vector>
#include <set>
#include <queue>
#include <algorithm>
#include <climits>

using namespace std;
long long cMod = 2;
int bitlookahead = 1;

bool comp(int a, int b) {
    a = a % cMod;
    b = b % cMod;
    return b > a;
}

signed main()
{
    int sA, sB;
    cin >> sA >> sB;
    vector<int> a(sA);
    vector<int> b(sB);
    for (size_t i = 0; i < sA; i++)
    {
        cin >> a[i];
    }
    for (size_t i = 0; i < sB; i++)
    {
        cin >> b[i];
    }
    int res = 0;
    while (cMod<4e9)
    {
        sort(a.begin(), a.end(), comp);
        sort(b.begin(), b.end(), comp);
        vector<int> aTemp(sA);
        vector<int> bTemp(sB);
        for (size_t i = 0; i < sA; i++)
        {
            aTemp[i] = a[i] % cMod;
        }
        for (size_t i = 0; i < sB; i++)
        {
            bTemp[i] = b[i] % cMod;
        }
        int lLim = cMod / 2;
        int uLim = cMod;
        int ans = 0;
        for (size_t i = 0; i < aTemp.size(); i++)
        {
            int lIdx = lower_bound(bTemp.begin(), bTemp.end(), lLim - aTemp[i]) - bTemp.begin();
            int uIdx = lower_bound(bTemp.begin(), bTemp.end(), uLim - aTemp[i]) - bTemp.begin();
            int cDif = uIdx - lIdx;
            ans += cDif;
        }
        if (ans % 2 == 1) {
            res += cMod;
        }
        cMod *= 2;
        bitlookahead++;
    }
    cout << res/2;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1808 KiB
2Időlimit túllépés2.099s2772 KiB
subtask20/14
3Hibás válasz3ms2292 KiB
4Hibás válasz14ms2540 KiB
5Hibás válasz14ms2700 KiB
6Hibás válasz8ms2908 KiB
7Hibás válasz21ms3160 KiB
8Hibás válasz21ms3324 KiB
9Hibás válasz28ms3536 KiB
subtask30/14
10Hibás válasz4ms3716 KiB
11Időlimit túllépés2.099s4592 KiB
12Időlimit túllépés2.069s4524 KiB
13Időlimit túllépés2.059s4820 KiB
14Időlimit túllépés2.046s5184 KiB
subtask40/14
15Időlimit túllépés2.065s4864 KiB
16Időlimit túllépés2.055s4968 KiB
17Időlimit túllépés2.073s5048 KiB
18Időlimit túllépés2.051s5308 KiB
19Időlimit túllépés2.013s5468 KiB
subtask50/21
20Hibás válasz497ms5272 KiB
21Hibás válasz1.794s6672 KiB
22Időlimit túllépés2.059s5308 KiB
23Időlimit túllépés2.069s5856 KiB
24Időlimit túllépés2.078s5956 KiB
25Időlimit túllépés2.078s6000 KiB
subtask60/37
26Hibás válasz259ms5212 KiB
27Időlimit túllépés2.058s5200 KiB
28Időlimit túllépés2.075s5384 KiB
29Időlimit túllépés2.053s5492 KiB
30Időlimit túllépés2.049s6072 KiB
31Időlimit túllépés2.066s6016 KiB
32Időlimit túllépés2.033s6024 KiB
33Időlimit túllépés2.078s6096 KiB
34Időlimit túllépés2.073s6060 KiB