시간 제한메모리 제한제출정답맞힌 사람정답 비율
1.5 초 (추가 시간 없음) 512 MB151123918017.787%

문제

길이 N의 자연수 수열 2개 A1, A2, ..., AN과 B1, B2, ..., BN이 주어진다. 다음 2가지 값을 구하여라.

  • 모든 (Ai & Bj)의 합을 1999로 나눈 나머지
  • 모든 (Ai + Bj)의 bitwise and 연산 값

여기서 &는 bitwise and 연산을 의미한다. bitwise and 연산의 정의는 하단의 참고 사항에 있다.

입력

첫 번째 줄에 수열의 길이를 나타내는 자연수 N(1 ≤ N ≤ 106)이 주어진다. 두 번째 줄에 수열 A를 나타내는 수 N개가 공백으로 구분되어 주어지고, 세 번째 줄에 수열 B를 나타내는 수 N개가 공백으로 구분되어 주어진다. A, B 수열의 모든 수는 1 이상 228 이하의 자연수이다.

출력

첫 번째 줄에 위에서 언급한 2가지 값을 공백으로 구분하여 순서대로 출력한다.

예제 입력 1

3
4 5 12
2 10 6

예제 출력 1

20 2

예제 입력 2

5
1 2 3 4 5
3 1 2 4 4

예제 출력 2

30 0

힌트

bitwise and 연산은 두 개의 이진수 값에 대해 자리 단위로 적용되는 연산이다. 먼저 피연산자로 주어진 두 값을 2진수로 표현한다. 그 뒤에 두 값의 각 자릿수를 비교해, 두 값 모두에 1이 있을 때만 1을, 나머지 경우에는 0을 계산한다.

예를 들어 13 & 7의 값은 5이다. 13은 2진수로 표현하면 1101(2) 이고 7은 2진수로 표현하면 111(2) 이다. 이후의 계산과정은 아래와 같다.


 

출처

University > 전국 대학생 프로그래밍 대회 동아리 연합 > UCPC 2018 예선 J번