XOR 부분 행렬
시간 제한2초메모리 제한512 MB
A[i][j] = V[i] xor U[j]로 만든 N×M 행렬에서 모든 원소를 xor한 값이 가장 큰 부분행렬을 찾는다.
문제
크기가 N인 배열 V와 크기가 M인 배열 U로 크기가 N×M인 행렬 A를 만들 수 있다. 이때 Aij = Vi xor Uj이다.
A의 부분 행렬 중에서 부분 행렬에 포함된 원소를 모두 xor한 값이 가장 큰 것을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 배열의 크기 N과 M이 주어진다. 둘째 줄에는 V1, V2, ..., VN이, 셋째 줄에는 U1, U2, ..., UM이 주어진다.
출력
A의 부분 행렬 중에서 부분 행렬에 포함된 원소를 모두 xor한 값이 가장 큰 것을 출력한다.
제한
- 1 ≤ N, M ≤ 1,000
- 0 ≤ Vi, Uj < 229