# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
651195 | BrineTw | Intergalactic ship (IZhO19_xorsum) | C++14 | 2073 ms | 2212 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int M = 1e9 + 7;
struct Update {
int l, r, x;
};
int mAdd(const int a, const int b) {
if (a + b >= M) return a + b - M;
if (a + b < 0) return a + b + M;
return a + b;
}
int calculate(vector<int> v, vector<Update>& update, int i) {
int sum = 0;
for (int j = 0; i; j++, i >>= 1) {
if (i & 1) {
for (int k = update[j].l; k < update[j].r; k++) {
v[k] ^= update[j].x;
}
}
}
for (int i = 0; i < v.size(); i++) {
int currentTotal = 0;
for (int j = i; j < v.size(); j++) {
currentTotal += v[j];
sum = mAdd(sum, currentTotal * currentTotal % M);
}
}
return sum;
}
int main() {
int length;
cin >> length;
vector<int> v(length);
for (auto& n: v) cin >> n;
int query;
cin >> query;
vector<Update> update(query);
for (auto& [l, r, x]: update) {
cin >> l >> r >> x;
--l;
}
int sum = 0;
for (int i = 0; i < (1 << query); i++) {
sum = mAdd(sum, calculate(v, update, i));
}
cout << sum << '\n';
}
Compilation message (stderr)
# | 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... |