제출 #1131952

#제출 시각아이디문제언어결과실행 시간메모리
1131952MuhammetIntergalactic ship (IZhO19_xorsum)C++20
17 / 100
2095 ms8264 KiB
#include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define ll long long const int N = 5e5 + 5; const ll M = 1e9 + 7; ll n, q, ans; vector <int> a, a1, l, r, x, b; void f(int k){ if(k == q+1){ a1 = a; for(int i = 1; i <= q; i++){ if(!b[i]) continue; for(int j = l[i]; j <= r[i]; j++){ a1[j] ^= x[i]; } } for(int i = 1; i <= n; i++){ ll y = 0; for(int j = i; j <= n; j++){ y += a1[j]; ans += (y*y); ans %= M; } } return; } for(int i = 0; i < 2; i++){ b[k] = i; f(k+1); } } int main(){ ios::sync_with_stdio(false); cin.tie(0); cin >> n; a.resize(n+1); for(int i = 1; i <= n; i++){ cin >> a[i]; } cin >> q; l.resize(q+1), r.resize(q+1), x.resize(q+1), b.resize(q+1,0); for(int i = 1; i <= q; i++){ cin >> l[i] >> r[i] >> x[i]; } f(1); 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...