썩은 밧줄
면접 대비시간 제한1초메모리 제한128 MB
밧줄 n개의 절단 하중이 주어질 때, 선택한 부분집합의 어떤 밧줄도 끊어지지 않으면서 들어 올릴 수 있는 물체의 최대 무게를 구한다.
문제
길이가 같은 밧줄 개가 있고, 이 밧줄들로 무거운 물체를 들어 올리려고 한다. 각 밧줄에는 끊어짐 하중(tear-off weight) 가 정해져 있다. 즉, 어떤 밧줄 하나만으로 무게가 보다 무거운 물체를 들어 올리려 하면 그 밧줄은 끊어진다. 하지만 여러 밧줄을 물체에 병렬로 묶어 함께 들어 올릴 수 있다. 무게가 인 물체를 밧줄 개로 들어 올릴 때, 각 밧줄은 자신의 끊어짐 하중과 관계없이 만큼의 무게를 감당한다고 가정한다. 끊어짐 하중이 인 어떤 밧줄에 대해 이면 그 밧줄은 끊어진다.
예를 들어 끊어짐 하중이 각각 , , 인 밧줄 세 개를 모두 한 물체에 묶으면, 가장 약한 밧줄이 끊어지지 않는 한 무게가 을 넘는 물체는 들 수 없다. 반면 두 번째 밧줄 하나만으로는 무게가 최대 인 물체를 들 수 있다.
개 밧줄의 끊어짐 하중이 주어질 때, 밧줄 중 일부(부분집합)를 골라 함께 묶어서 어느 밧줄도 끊어지지 않게 들어 올릴 수 있는 가장 무거운 물체의 무게를 구하여라.
입력
첫 줄에 테스트 케이스의 수 ()가 주어지고, 이어서 각 테스트 케이스의 입력이 주어진다. 각 테스트 케이스의 첫 줄에는 밧줄의 개수 ()이 주어진다. 그 다음 줄에는 밧줄들의 끊어짐 하중을 나타내는 개의 정수가 공백으로 구분되어 주어지며, 각 값은 이상 이하이다.
출력
각 테스트 케이스마다, 어느 밧줄도 끊어지지 않고 들어 올릴 수 있는 가장 무거운 물체의 무게를 한 줄에 하나씩 출력한다.