Submission #563991

#TimeUsernameProblemLanguageResultExecution timeMemory
563991StickfishIntergalactic ship (IZhO19_xorsum)C++17
9 / 100
2087 ms2224 KiB
#include <iostream> #include <vector> using namespace std; using ll = long long; const int MAXN = 1008; const ll MOD = 1000000007; int a[MAXN]; signed main() { int n; cin >> n; for (int i = 0; i < n; ++i) cin >> a[i]; int q; cin >> q; vector<pair<pair<int, int>, int>> qrs(q); for (int i = 0; i < q; ++i) { cin >> qrs[i].first.first >> qrs[i].first.second >> qrs[i].second; --qrs[i].first.first; } ll ans = 0; for (int m = 0; m < (1 << q); ++m) { vector<int> b(n); for (int i = 0; i < n; ++i) b[i] = a[i]; for (int j = 0; j < q; ++j) { if (m & (1 << j)) { auto [sg, x] = qrs[j]; for (int i = sg.first; i < sg.second; ++i) { b[i] ^= x; } } } for (int i = 0; i < n; ++i) { int sm = 0; for (int j = i; j < n; ++j) { sm += b[j]; ans += 1ll * sm * sm; ans %= MOD; //cout << sm << ' '; } } } 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...