| 15001 | 2025-02-10 21:59:27 | feheristvan | Xorzótábla | cpp14 | Időlimit túllépés 49/100 | 2.095s | 15744 KiB |
#include <bits/stdc++.h>
using namespace std;
#define BIT(x, i) ((x) >> (i) & 1)
#define LOPT(i) (~0 ^ ~0 << (i))
// az stl-re semmit se lehet bizni...
int cmp(const void* a, const void* b) {
if (*(int*)a < *(int*)b) {
return -1;
}
else if (*(int*)a > *(int*)b) {
return 1;
}
else {
return 0;
}
}
int bs(const vector<int>& v, int x) {
int l = 0, h = v.size();
while (l != h) {
int m = (l + h) / 2;
if (v[m] >= x) {
h = m;
}
else {
l = m + 1;
}
}
return h;
}
int main() {
int AC, BC;
cin >> AC >> BC;
vector<int> A(AC), B(BC);
for (int i = 0; i < AC; i++) {
cin >> A[i];
}
for (int i = 0; i < BC; i++) {
cin >> B[i];
}
vector<vector<int>> v(32);
vector<vector<int>> w(32);
int x = 0;
for (int i = 0; i < 32; i++) {
for (int j = 0; j < AC; j++) {
if (BIT(A[j], i)) {
v[i].push_back(A[j] & LOPT(i));
}
else {
w[i].push_back(A[j] & LOPT(i));
}
}
qsort(v[i].data(), v[i].size(), sizeof(int), cmp);
qsort(w[i].data(), w[i].size(), sizeof(int), cmp);
}
for (int i = 0; i < BC; i++) {
for (int j = 0; j < 32; j++) {
int c = 0;
int y = (1 << j) - (B[i] & LOPT(j));
if (BIT(B[i], j)) {
c += w[j].size();
c += v[j].size() - bs(v[j], y);
c -= w[j].size() - bs(w[j], y);
}
else {
c += v[j].size();
c += w[j].size() - bs(w[j], y);
c -= v[j].size() - bs(v[j], y);
}
x ^= c % 2 << j;
}
}
cout << x << endl;
return 0;
}| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 1.654s | 12620 KiB | ||||
| subtask2 | 14/14 | ||||||
| 3 | Elfogadva | 1ms | 508 KiB | ||||
| 4 | Elfogadva | 2ms | 316 KiB | ||||
| 5 | Elfogadva | 4ms | 564 KiB | ||||
| 6 | Elfogadva | 2ms | 316 KiB | ||||
| 7 | Elfogadva | 8ms | 492 KiB | ||||
| 8 | Elfogadva | 8ms | 316 KiB | ||||
| 9 | Elfogadva | 10ms | 580 KiB | ||||
| subtask3 | 0/14 | ||||||
| 10 | Elfogadva | 2ms | 316 KiB | ||||
| 11 | Elfogadva | 1.539s | 14732 KiB | ||||
| 12 | Elfogadva | 1.85s | 14464 KiB | ||||
| 13 | Időlimit túllépés | 2.085s | 15744 KiB | ||||
| 14 | Időlimit túllépés | 2.095s | 14632 KiB | ||||
| subtask4 | 14/14 | ||||||
| 15 | Elfogadva | 402ms | 7756 KiB | ||||
| 16 | Elfogadva | 625ms | 13820 KiB | ||||
| 17 | Elfogadva | 730ms | 14984 KiB | ||||
| 18 | Elfogadva | 768ms | 15052 KiB | ||||
| 19 | Elfogadva | 794ms | 15052 KiB | ||||
| subtask5 | 21/21 | ||||||
| 20 | Elfogadva | 101ms | 3124 KiB | ||||
| 21 | Elfogadva | 382ms | 6420 KiB | ||||
| 22 | Elfogadva | 615ms | 14092 KiB | ||||
| 23 | Elfogadva | 667ms | 12884 KiB | ||||
| 24 | Elfogadva | 716ms | 14104 KiB | ||||
| 25 | Elfogadva | 347ms | 14056 KiB | ||||
| subtask6 | 0/37 | ||||||
| 26 | Elfogadva | 79ms | 1868 KiB | ||||
| 27 | Elfogadva | 1.093s | 3628 KiB | ||||
| 28 | Elfogadva | 1.304s | 14432 KiB | ||||
| 29 | Elfogadva | 1.536s | 9192 KiB | ||||
| 30 | Időlimit túllépés | 2.078s | 14540 KiB | ||||
| 31 | Időlimit túllépés | 2.065s | 14392 KiB | ||||
| 32 | Elfogadva | 388ms | 14276 KiB | ||||
| 33 | Elfogadva | 1.978s | 14732 KiB | ||||
| 34 | Időlimit túllépés | 2.005s | 14784 KiB | ||||