105522024-04-05 12:36:12CWMXorzótáblacpp17Hibás válasz 14/100996ms7516 KiB
#include <iostream>
#include <vector>
#include <set>
#include <queue>
#include <algorithm>
#include <climits>

using namespace std;
long long cMod = 2;

signed main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    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];
    }
    long long res = 0;
    while (cMod<4e9)
    {
        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;
        }
        sort(aTemp.begin(), aTemp.end());
        sort(bTemp.begin(), bTemp.end());
        long long lLim = cMod / 2;
        long long 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 ulIdx = lower_bound(bTemp.begin(), bTemp.end(), uLim+lLim - aTemp[i]) - bTemp.begin();
            int cDif = uIdx - lIdx + bTemp.size()-ulIdx;
            ans += cDif;
        }
        if (ans % 2 == 1) {
            res += cMod;
        }
        cMod *= 2;
    }
    cout << res/2;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1832 KiB
2Hibás válasz832ms4796 KiB
subtask214/14
3Elfogadva3ms2380 KiB
4Elfogadva4ms2464 KiB
5Elfogadva4ms2544 KiB
6Elfogadva4ms2672 KiB
7Elfogadva8ms2760 KiB
8Elfogadva8ms2888 KiB
9Elfogadva10ms2872 KiB
subtask30/14
10Elfogadva3ms2912 KiB
11Elfogadva902ms6244 KiB
12Hibás válasz896ms6212 KiB
13Hibás válasz995ms6640 KiB
14Hibás válasz995ms6676 KiB
subtask40/14
15Elfogadva469ms5932 KiB
16Hibás válasz632ms6544 KiB
17Hibás válasz648ms6700 KiB
18Elfogadva721ms6972 KiB
19Elfogadva720ms7176 KiB
subtask50/21
20Elfogadva100ms4792 KiB
21Elfogadva352ms5912 KiB
22Hibás válasz535ms6352 KiB
23Hibás válasz606ms6904 KiB
24Elfogadva648ms6980 KiB
25Elfogadva444ms7068 KiB
subtask60/37
26Elfogadva71ms4572 KiB
27Elfogadva451ms6276 KiB
28Hibás válasz787ms6804 KiB
29Hibás válasz699ms6936 KiB
30Elfogadva996ms7516 KiB
31Elfogadva995ms7512 KiB
32Elfogadva453ms7512 KiB
33Elfogadva986ms7516 KiB
34Hibás válasz986ms7412 KiB