Submission #1156535

#TimeUsernameProblemLanguageResultExecution timeMemory
1156535AbdullahIshfaqIntergalactic ship (IZhO19_xorsum)C++20
0 / 100
284 ms436 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define MOD 1000000007 ll a[105], t[105], pre[105], l[105], r[105], x[105]; void solve(){ ll n, q, res; cin >> n; for(int i = 1; i <= n; i++){ cin >> a[i]; } cin >> q; for(int i = 0; i < q; i++){ cin >> l[i] >> r[i] >> x[i]; } for (int msk = 0; msk < (1 << q); msk++){ ll sm = 0; for(int i = 1; i <= n; i++){ t[i] = a[i]; } for(int i = 0; i < q; i ++){ if(msk & (1 << i)){ for(int j = l[i]; j <= r[i]; j++){ t[j] ^= x[i]; } } } for(int i = 1; i <= n; i++){ pre[i] = (pre[i - 1] + t[i]) % MOD; res = (res + (((n + 1) * pre[i]) % MOD * pre[i])%MOD); sm += pre[i]; } sm = ((sm * sm * -1) % MOD + MOD) % MOD; res = (res + sm) % MOD; } cout << res << '\n'; } int main() { ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int tests = 1; // cin >> tests; for(int i = 1; i <= tests; i ++){ solve(); } }
#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...