제출 #1104716

#제출 시각아이디문제언어결과실행 시간메모리
1104716SulAXOR Sum (info1cup17_xorsum)C++17
18 / 100
303 ms592 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
using namespace __gnu_pbds;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr); cout.tie(nullptr);

    int n; cin >> n;
    if (n < 5000) {
        int a[n]; for (int i = 0; i < n; cin >> a[i++]);
        int ans = 0;
        for (int i = 0; i < n; i++) {
            for (int j = i; j < n; j++) {
                ans ^= a[i] + a[j];
            }
        }
        cout << ans;
        return 0;
    }
    const int K = 5000;
    bitset<2*K> el, pairs;

    for (int i = 0; i < n; i++) {
        int x; cin >> x;
        el.flip(x);
        pairs ^= el << x;
    }
    int ans = 0;
    for (int i = 0; i < 2*K; i++) {
        ans ^= (pairs[i])*i;
    }
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...