페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2841

쌓기나무(중) 1s 128MB

문제

쌓기 나무를 하며 보드게임을 했던 경원이는 최근 쌓기 나무와 관련한 재미있는 문제를 보았다. 

한 변의 길이가 4인정사각형 보드판에 쌓기 나무를 쌓았다고 가정하고 앞에서 본 모습은 2 0 3 1, 

옆에서 본 모습은 1 1 2 3 일 때 “쌓은 쌓기 나무의 최소값과 최대값은 얼마일까?”라는 문제였다.

 

골똘히 생각하던 경원이는 아래와 같이 쉽게 구할 수 있었다.

 

 

 호기심 많은 경원이는 이 문제를 푼 것에 머무르지 않고 테스트 케이스의 개수와 

보드판의 한 변의 길이를 다르게 하여 프로그래밍으로 해결하는 방법을 찾는 것에 도전한다고 한다. 

우리도 함께 도전하여 해결해보자.

 


입력

첫 행에 테스트 케이스의 수 T ( 1 <= T <= 20)가 입력된다. 다음 행부터 아래와 같은 각 테이트 케이스 정보가 T개 입력된다. 테스트케이스의 첫 행에는 보드 판의 한 변의 길이 N( 1 <= N <= 100)이 입력된다. 다음 행에는 쌓기 나무를 앞에서 본 모양을 나타내는 정수 Ai가 공백으로 구분하여 주어진다. 다음 행에는 쌓기 나무를 옆에서 본 모양을 나타내는 정수 Bi 공백으로 구분하여 주어진다. ( 0 <= Ai, Bi <= 100,000)

출력

각 테스트 케이스에 대하여 행으로 구분하여 출력한다. 각 행에는 가능한 쌓기 나무 개수의 최소값과 최대값을 공백으로 구분하여 출력한다.

예제

2

4
2 0 3 1
1 1 2 3
1
1
1
7 17

1 1
로그인해야 코드를 작성할 수 있어요.