10540 2024. 04. 04 18:45:13 CWM Xorzótábla cpp17 Időlimit túllépés 0/100 2.099s 6672 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 Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1808 KiB
2 Időlimit túllépés 2.099s 2772 KiB
subtask2 0/14
3 Hibás válasz 3ms 2292 KiB
4 Hibás válasz 14ms 2540 KiB
5 Hibás válasz 14ms 2700 KiB
6 Hibás válasz 8ms 2908 KiB
7 Hibás válasz 21ms 3160 KiB
8 Hibás válasz 21ms 3324 KiB
9 Hibás válasz 28ms 3536 KiB
subtask3 0/14
10 Hibás válasz 4ms 3716 KiB
11 Időlimit túllépés 2.099s 4592 KiB
12 Időlimit túllépés 2.069s 4524 KiB
13 Időlimit túllépés 2.059s 4820 KiB
14 Időlimit túllépés 2.046s 5184 KiB
subtask4 0/14
15 Időlimit túllépés 2.065s 4864 KiB
16 Időlimit túllépés 2.055s 4968 KiB
17 Időlimit túllépés 2.073s 5048 KiB
18 Időlimit túllépés 2.051s 5308 KiB
19 Időlimit túllépés 2.013s 5468 KiB
subtask5 0/21
20 Hibás válasz 497ms 5272 KiB
21 Hibás válasz 1.794s 6672 KiB
22 Időlimit túllépés 2.059s 5308 KiB
23 Időlimit túllépés 2.069s 5856 KiB
24 Időlimit túllépés 2.078s 5956 KiB
25 Időlimit túllépés 2.078s 6000 KiB
subtask6 0/37
26 Hibás válasz 259ms 5212 KiB
27 Időlimit túllépés 2.058s 5200 KiB
28 Időlimit túllépés 2.075s 5384 KiB
29 Időlimit túllépés 2.053s 5492 KiB
30 Időlimit túllépés 2.049s 6072 KiB
31 Időlimit túllépés 2.066s 6016 KiB
32 Időlimit túllépés 2.033s 6024 KiB
33 Időlimit túllépés 2.078s 6096 KiB
34 Időlimit túllépés 2.073s 6060 KiB