제출 #859796

#제출 시각아이디문제언어결과실행 시간메모리
859796AlfraganusIntergalactic ship (IZhO19_xorsum)C++14
9 / 100
2039 ms1624 KiB
#include <bits/stdc++.h> using namespace std; #define endl '\n' #define ll long long #define all(a) a.begin(), a.end() #define fastio ios::sync_with_stdio(0), cin.tie(0); #define fs first #define ss second #define print(a) \ for (auto x : a) \ cout << x << ' '; \ cout << endl; #define printmp(a) \ for (auto x : a) \ cout << x.fs << ' ' << x.ss << endl; const long long mod = 1e9 + 7; void solve() { int n; cin >> n; vector<int> a(n); for(int i = 0; i < n; i ++) cin >> a[i]; int q; cin >> q; vector<pair<pair<int, int>, int>> S(q); for(int i = 0; i < q; i ++){ int l, r, x; cin >> l >> r >> x; l --; r --; S[i] = {{l, r}, x}; } int ans = 0; for(int i = 0; i < (1 << q); i ++){ vector<int> b = a; for(int j = 0; j < q; j ++){ if((i & (1 << j))){ for(int x = S[j].fs.fs; x <= S[j].fs.ss; x ++){ b[x] ^= S[j].ss; } } } for(int i = 0; i < n; i ++){ int s = 0; for(int j = i; j < n; j ++){ s = (s + b[j]) % mod; ans = (ans + s * s) % mod; } } } cout << ans; } signed main() { fastio int t = 1; // cin >> t; while (t--) { solve(); cout << 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...