Submission #1138804

#TimeUsernameProblemLanguageResultExecution timeMemory
1138804AHOKAIntergalactic ship (IZhO19_xorsum)C++20
17 / 100
2096 ms3516 KiB
#include <bits/stdc++.h>

using namespace std;
 
#define threesum cin.tie(NULL); cout.tie(NULL); ios_base::sync_with_stdio(false)
#define all(a) a.begin(), a.end()
#define F first
#define S second
#define int long long
#define double long double
#define pii pair<int, int>
#define ppp pair<int, pii>
#define dout cout << fixed << setprecision(15)
#define mid ((l + r) / 2)
#define lc (2 * id)
#define rc (lc + 1)

const int maxn = 1e6 + 10, maxm = 1e2 + 10, oo = 1e18 + 10, lg = 8, sq = 350, mod = 1e9 + 7;

int n, m, a[maxm], b[maxm];

vector<ppp> q;

signed main()
{
	threesum;
    cin >> n;
    for (int i = 1; i <= n;i++){
        cin >> a[i];
        b[i] = a[i];
    }

    cin >> m;
    for (int i = 1; i <= m;i++){
        int l, r, x;
        cin >> l >> r >> x;
        q.push_back({x, {l, r}});
    }

    int ans = 0;

    for (int mask = 0; mask < (1ll << m); mask++){

        for (int i = 1; i <= n;i++)
            b[i] = a[i];

        for (int i = 0; i < m; i++)
            if (mask & (1ll << i))
                for (int j = q[i].S.F; j <= q[i].S.S; j++)
                    b[j] ^= q[i].F;

        for (int i = 1; i <= n; i++){
            int s = 0;
            for (int j = i; j <= n; j++){
                s += b[j];
                (ans += s * s) %= mod;
            }
        }
    }

    cout << ans;
}
#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...