제출 #1139600

#제출 시각아이디문제언어결과실행 시간메모리
1139600tkm_algorithmsXOR Sum (info1cup17_xorsum)C++20
0 / 100
99 ms8260 KiB
/** * In the name of Allah * We are nothing and you're everything * author: najmuddin **/ #include <bits/stdc++.h> #pragma GCC optimize("O3") #pragma GCC target("avx2") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC optimize("no-stack-protector") #pragma GCC optimize("fast-math") #pragma GCC optimize("trapv") #pragma GCC optimize("inline") using namespace std; #define all(x) begin(x), end(x) #define sz(x) (int)(x).size() typedef long long ll; #define int ll const char nl = '\n'; const int N = 1e8+5; //const int inf = 1e18; const int mod = 1e9+7; void solve() { int n; cin >> n; vector<int> a(n); for (auto &i: a)cin >> i; if (n <= 4e3) { int total = 0; for (int i = 0; i < n; ++i) { int x = a[i]; int xorsum = 0; for (int j = i; j < n; ++j) { xorsum ^= (a[j]+x); if (i == 1 && j == 3)cout << xorsum; } total ^= xorsum; } cout << total; return; } vector<int> v(4e3+10), c; for (auto i: a) { v[i] += 1; if (v[i] == 1)c.push_back(i); } int total = 0; for (int i = 0; i < sz(c); ++i) { //if (v[c[i]] % 2 == 0) { //continue; //} int x = c[i], xorsum = 0; for (int j = i; j < sz(c); ++j) { //ind2 += 1; if (v[c[j]] % 2 == 0)continue; xorsum ^= (c[j]+x); } total ^= xorsum; } for (auto i: c) if (v[i]%2 == 0)total ^= (i+i); cout << total; } int32_t main() { ios::sync_with_stdio(0); cin.tie(0); int t = 1; //cin >> t; while (t--) { solve(); } return 0; }
#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...