Submission #990543

#TimeUsernameProblemLanguageResultExecution timeMemory
990543ToniBIntergalactic ship (IZhO19_xorsum)C++17
12 / 100
407 ms440 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int MOD = 1e9 + 7; const int N = 105; int n, a[N], q, l[N], r[N], x[N], pre[N], ans; int main(){ cin >> n; for (int i = 0; i < n; ++i) cin >> a[i]; cin >> q; for (int i = 0; i < q; ++i) { cin >> l[i] >> r[i] >> x[i], --l[i], --r[i]; } for (int i = 0; i < (1 << q); ++i) { for (int j = 0; j < q; ++j) { if (i & 1 << j) { pre[l[j]] ^= x[j]; pre[r[j] + 1] ^= x[j]; } } for (int i = 1; i < n; ++i) pre[i] ^= pre[i - 1]; for (int i = 0; i < n; ++i) a[i] ^= pre[i]; int sum = 0; for (int i = 0; i < n; ++i) { int cur = 0; for (int j = i; j < n; ++j) { cur += a[j]; sum += cur * cur; } } ans += sum; ans %= MOD; for (int i = 0; i < n; ++i) { a[i] ^= pre[i]; pre[i] = 0; } } cout << ans << "\n"; 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...