aboutsummaryrefslogtreecommitdiff
path: root/05_range_queries/range_xor_queries_1650.cpp
diff options
context:
space:
mode:
Diffstat (limited to '05_range_queries/range_xor_queries_1650.cpp')
-rw-r--r--05_range_queries/range_xor_queries_1650.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/05_range_queries/range_xor_queries_1650.cpp b/05_range_queries/range_xor_queries_1650.cpp
new file mode 100644
index 0000000..e6a4500
--- /dev/null
+++ b/05_range_queries/range_xor_queries_1650.cpp
@@ -0,0 +1,20 @@
1#include <algorithm>
2#include <iostream>
3#include <vector>
4
5int main() {
6 size_t n, q;
7 std::cin >> n >> q;
8 std::vector<int> p(n);
9 for (size_t i = 0; i < n; i++)
10 std::cin >> p[i];
11 for (size_t i = 1; i < n; i++)
12 p[i] ^= p[i-1];
13 for (size_t i = 0; i < q; i++) {
14 int x, k, s;
15 std::cin >> x >> k;
16 s = p[k-1];
17 if (x > 1) s ^= p[x-2];
18 std::cout << s << "\n";
19 }
20}

Generated with cgit - Back to sebastiano.tronto.net