문제 번호 3995 --양팔 저울

3995: 양팔 저울

시간 제한: 1 Sec  메모리 제한: 128 MB
제출: 5  해결 문제 수: 4
[제출][채점상황][게시판][:]

문제 설명

문제1.

무게가 서로 다른 추들의 집합이 주어진다. 각 추의 무게는 1g 이상 9g 이하의 정수이다. 이 추들 중에서 몇 개를 선택하여 양팔저울에 올려서 평형을 만들고자 한다. 양팔저울에는 양쪽에 5개씩 등간격의 눈금이 표시되어 있고 추는 눈금 위에만 놓일 수 있다. 한 눈금 위에는 하나의 추만이 놓일 수 있다. 예를 들어, {2, 3, 4, 5, 9}가 추의 집합으로 주어졌을 때, 아래 그림 1과 같이 왼쪽에는 2g짜리 추를 중심에서 3 떨어진 자리에 놓고, 오른쪽에는 3g짜리 추를 중심에서 2떨어진 자리에 놓으면 저울은 평형을 이루게 된다.(2*3 = 3*2)

위와 동일한 추 집합에서 아래 그림 2와 같이 양쪽에 서로 다른 수의 추를 배치해서 평형을 이룰 수도 있다. (4*4 + 5*2 = 5*4)

그림 1, 그림 2와 같이 저울이 평형을 이룬 경우 추가 놓인 모양에 따라 대응되는 하나의 숫자를 다음과 같이 생성한다. 추가 놓이지 않은 빈 눈금에는 0이 들어가고 추가 놓인 눈금은 그 추의 무게에 해당하는 숫자가 들어간다. 단, 이렇게 만들었을 때 0이 아닌 첫 숫자가 나타나기까지의 왼쪽에 있는 모든 0은 제거한다. 예를 들면, 그림 1에 대응되는 숫자는 20003000이 된다. 그림 2에 해당되는 숫자는 402000050이다. 이렇게 하면 양팔저울이 평형을 이루는 추의 배치 방법 각각에 대해 최대 10자리의 정수가 하나씩 대응된다. 이 수를 “평형정수“라고 하자.

주어진 추 집합을 입력으로 받아서 생성할 수 있는 모든 평형정수를 증가하는 순서대로 놓았을 때 k번째에 해당되는 평형정수를 출력하는 프로그램을 작성하라. 0≤k≤1,000,000,000 이다. 특수한 경우로 k=0 에 대응되는 평형정수는 0으로 저울의 양쪽에 아무 추도 놓이지 않은 상태를 말한다. 만일 k번째에 해당하는 평형정수가 없으면 가능한 가장 큰 평형정수를 출력한다.

입력

첫 줄에는 추 집합의 크기 이 주어진다 (1≤n≤9). 둘째 줄에는 서로 다른 n개의 추의 무게가 증가하는 순서로 주어진다. 각 수 사이에는 빈 칸이 하나 있다. 세째 줄에는 여러분이 계산해야 할 평형정수의 순위 k가 주어진다.

출력

여러분은 입력에서 주어진 추들로 만들 수 있는 모든 평형정수를 증가하는 순서대로 나열했을 때 k번째가 되는 평형정수를 출력하면 된다. 앞서 말한대로 만일 k번째에 해당되는 평형정수가 없을 경우에는 가능한 가장 큰 평형정수를 출력한다.

입력예시

예제1
2
2 3
1

예제2
2
2 3
5

예제3
3
1 2 9
1

예제4
3
1 2 9
2

출력예시

예제1
3000200

예제2
20003000

예제3
201000

예제4
902001

도움말

출처

[제출][채점상황]