Submission #683799

#TimeUsernameProblemLanguageResultExecution timeMemory
683799gagik_2007Intergalactic ship (IZhO19_xorsum)C++17
0 / 100
2064 ms1972 KiB
#include <iostream> #include <algorithm> #include <string> #include <vector> #include <cmath> #include <chrono> #include <ctime> #include <set> #include <map> #include <stack> #include <queue> #include <deque> #include <limits> #include <iomanip> #include <unordered_set> #include <unordered_map> #include <fstream> #include <functional> #include <random> #include <cassert> using namespace std; typedef long long ll; typedef long double ld; #define ff first #define ss second ll ttt; const ll INF = 1e18; const ll MOD = 1e9 + 7; const ll N = 1000007; ll n, m, k; int a[N]; vector<pair<pair<int, int>, int>>q; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; } cin >> m; for (int i = 0; i < m; i++) { int l, r, x; cin >> l >> r >> x; l--, r--; q.push_back({ {l,r},x }); } ll ans = 0; for (int msk = 0; msk < (1 << m); msk++) { for (int i = 0; i < m; i++) { if (msk & (1 << i)) { for (int j = q[i].ff.ff; j <= q[i].ff.ss; j++) { a[i] = a[i] ^ q[i].ss; } } } for (int i = 0; i < n; i++) { int cur = 0; for (int j = i; j < n; j++) { cur += a[j]; ans += ll(cur) * cur; } } ans %= MOD; for (int i = 0; i < m; i++) { if (msk & (1 << i)) { for (int j = q[i].ff.ff; j <= q[i].ff.ss; j++) { a[i] = a[i] ^ q[i].ss; } } } } cout << ans << endl; return 0; } /// ---- - -------- ------ -------- -- - - - /// Just a reminder. Ubuntu password is I O I /// ---- - -------- ------ -------- -- - - -
#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...