#include<cstdio>
using namespace std;
inline char readchar(){
const int S = 1<<16;
static char buf[S], *p = buf, *q = buf;
return p == q and (q = (p = buf) + fread(buf, 1, S, stdin)) == buf ? EOF : *p++;
}
inline int R(int &a){
static char c;
while(((c = readchar()) < '0' or c > '9') and c != '-' and c != EOF);
if(c == '-'){
a = 0;
while((c = readchar()) >= '0' and c <= '9') a *= 10, a -= c ^ '0';
} else {
a = c ^ '0';
while((c = readchar()) >= '0' and c <= '9') a *= 10, a += c ^ '0';
}
return a;
}
int arr[32][2];
int main(){
int n;
R(n);
int x,i;
for(i=0;i<32;i++) arr[i][0]=0,arr[i][1]=0;
int j;
for(i=0;i<n;i++){
R(x);
x+=1000000001;
for(j=31;j>=0;j--){
if(x&(1<<j)) arr[j][1]^=x;
else arr[j][0]^=x;
}
}
for(i=0;i<32;i++){
if(arr[i][0]>0&&arr[i][1]>0){
arr[i][0]-=1000000001;
arr[i][1]-=1000000001;
printf("%d %d\n",(arr[i][0]<arr[i][1]?arr[i][0]:arr[i][1]),(arr[i][1]>arr[i][0]?arr[i][1]:arr[i][0]));
return 0;
}
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
348 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
0 ms |
348 KB |
Output is correct |
5 |
Correct |
0 ms |
348 KB |
Output is correct |
6 |
Correct |
1 ms |
348 KB |
Output is correct |
7 |
Correct |
0 ms |
348 KB |
Output is correct |
8 |
Correct |
0 ms |
348 KB |
Output is correct |
9 |
Correct |
0 ms |
348 KB |
Output is correct |
10 |
Correct |
0 ms |
348 KB |
Output is correct |
11 |
Runtime error |
1547 ms |
51624 KB |
Memory limit exceeded |
12 |
Halted |
0 ms |
0 KB |
- |