#include <iostream>
using namespace std;
const int N = 1e5;
int l[N], r[N], x[N], a[N], b[N], mod = 1e9 + 7;
int main(){
int n, q, Ans = 0;
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++)
cin>>l[i]>>r[i]>>x[i];
for (int mask = 0;mask < (1<<q);mask++){
for (int j=0;j<q;j++){
if ((1<<j) & mask)
for (int k=l[j];k<=r[j];k++)
a[k] ^= x[j];
}
for (int i=1;i<=n;i++){
for (int j=i, S = 0;j<=n;j++)
S += a[j], Ans = (Ans + S * S) % mod;
a[i] = b[i];
}
}
cout<<Ans<<'\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |