Countdown
시간 제한1초메모리 제한128 MB
여섯 개의 숫자를 사칙연산으로 조합해 중간값이 항상 양의 정수가 되도록 하면서 목표값에 가장 가까운 값을 구합니다.
문제
TV 프로그램 Countdown에는 여섯 개의 서로 다른 수를 사칙연산(덧셈, 뺄셈, 곱셈, 나눗셈)으로 조합하여 어떤 수를 만드는 라운드가 있다. 기본 규칙은 다음과 같다.
- 참가자는 잘 섞인 24개의 타일 중 여섯 개를 고른다. 타일은 두 그룹으로 나뉜다: "큰 수" 네 개()와, 나머지인 "작은 수"로 부터 까지 각각 두 개씩이다. 따라서 타일의 값은 에서 온다.
- 참가자는 선택에 큰 수를 몇 개 포함할지 정하며, 하나도 포함하지 않을 수도 있다.
- 그런 다음 참가자는 30초 안에, 고른 여섯 개의 수를 덧셈, 뺄셈, 곱셈, 나눗셈으로 조합하여 목표에 최대한 가까운 수를 만든다.
- 모든 수를 반드시 사용할 필요는 없다.
- 어떤 수는 등장하는 횟수만큼 사용할 수 있다.
- 분수는 허용되지 않으며, 계산의 모든 단계에서 양의 정수만 나타날 수 있다.
여섯 개의 수와 목표 가 주어질 때, 에 얼마나 가까이 갈 수 있는지 구하여라.
입력
첫째 줄에 케이스의 수 ()가 주어진다. 이어지는 개의 각 줄에는 집합 에 속하는 여섯 개의 자연수와, 목표를 나타내는 자연수 ()가 주어진다.
출력
각 케이스에 대해, 규칙에 따라 여섯 개의 수로부터 얻을 수 있는 모든 값 에 대한 의 최솟값을 한 줄에 하나의 정수로 출력한다. 고른 각 수 자체도 얻을 수 있는 값이므로 이 값은 항상 정의되며, 목표를 정확히 만들 수 있을 때 정확히 이 된다.