수들의 합 3
시간 제한2초메모리 제한128 MB
N개의 숨겨진 정수들의 모든 쌍의 합이 순서 없이 주어졌을 때, 그 합의 다중집합을 정확히 만드는 사전순으로 가장 작은 비내림 수열을 복원합니다.
문제
개의 정수가 있다. 서로 다른 두 위치의 수를 하나씩 짝지어 더하면 모두 개의 합을 얻는다. 이렇게 얻은 개의 합이 주어질 때, 원래의 개의 수를 복원하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 ()이 주어진다.
둘째 줄에 개의 합이 공백으로 구분되어 주어진다. 각 합은 절댓값이 이하인 정수이며, 주어지는 순서는 정해져 있지 않다.
출력
주어진 합들을 정확히 만들어 내는 원래의 개의 수를 비내림차순으로 정렬하여 한 줄에 공백으로 구분해 출력한다.
조건을 만족하는 수열이 여러 개이면, 그중 사전순으로 가장 앞서는 수열 하나만 출력한다. (비내림차순으로 나열한 두 수열을 앞에서부터 한 자리씩 비교하여, 처음으로 달라지는 위치의 수가 더 작은 쪽이 사전순으로 앞선다.)
출력하는 각 정수는 이상 이하이어야 한다. 이 범위 안에서 조건을 만족하는 수열이 하나도 없으면 Impossible을 출력한다.