Submission #949791

#TimeUsernameProblemLanguageResultExecution timeMemory
949791rainboy양말 찾기 (KPI13_socks)C++98
0 / 1
1818 ms65536 KiB
#include <ctype.h> #include <stdio.h> #define L 31 /* L = ceil(log2(2 * 10^9 + 1)) */ char c; int sgn; void read(int *a) { while (1) if (isdigit(c = getchar()) || c == '-') break; sgn = 1; if (c == '-') sgn = -1, c = getchar(); *a = 0; for ( ; isdigit(c); c = getchar()) *a = *a * 10 + c - '0'; *a *= sgn; } int main() { static int xx[L]; int n, l, a, b, x, tmp; read(&n); x = 0; while (n--) { read(&a); x ^= a; for (l = 0; l < L; l++) if ((a & 1 << l) != 0) xx[l] ^= a; } a = 0, b = x; for (l = 0; l < L; l++) if (xx[l] != 0 && xx[l] != x) { a = xx[l], b = x ^ xx[l]; break; } if (a > b) tmp = a, a = b, b = tmp; printf("%d %d\n", a, b); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...