Submission #1156457

#TimeUsernameProblemLanguageResultExecution timeMemory
1156457Ghulam_JunaidIntergalactic ship (IZhO19_xorsum)C++20
17 / 100
2094 ms1980 KiB
#include <bits/stdc++.h> using namespace std; #define F first #define S second const int N = 1010, Q = 1e5 + 100, mod = 1e9 + 7; int n, q, a[N], b[N]; vector<pair<int, pair<int, int>>> queries; int main(){ cin >> n; for (int i = 1; i <= n; i ++) cin >> a[i], b[i] = a[i]; cin >> q; for (int i = 0; i < q; i ++){ int l, r, x; cin >> l >> r >> x; queries.push_back({l, {r, x}}); } sort(queries.begin(), queries.end()); long long ans = 0; for (int mask = 0; mask < (1 << q); mask ++){ for (int i = 0; i < q; i ++){ if (((1 << i) & mask) == 0) continue; for (int j = queries[i].F; j <= queries[i].S.F; j ++) a[j] ^= queries[i].S.S; } for (int i = 1; i <= n; i ++){ int sm = 0; for (int j = i; j <= n; j ++){ sm += a[j]; ans += sm * sm; } a[i] = b[i]; } ans %= mod; } cout << ans << endl; }
#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...