성공의 열쇠
시간 제한3초메모리 제한256 MB
기존 코인 n개에 원하는 값의 코인 m개를 추가할 때, 부분합으로 만들 수 없는 가장 작은 양의 정수를 최대화하는 문제입니다.
문제
한 방송 게임 쇼에서 우승자에게 줄 상품 세트를 준비한다. 우승자의 점수가 이면, 우승자는 준비된 상품들 중에서 값의 합이 정확히 달러가 되는 부분집합을 골라 받아야 한다.
주최 측은 이미 값이 각각 달러인 여분의 상품 개를 가지고 있다. 우승자의 점수를 미리 알 수 없으므로 주최 측은 상품 개를 추가로 구매한다. 목표는, 우승자가 받을 수 없는 가장 작은 양의 정수 점수를 최대로 만들도록 이 개의 상품을 고르는 것이다. 여기서 '받을 수 없는 점수'란, (이미 가진 상품과 새로 산 상품을 합친) 모든 상품의 어떤 부분집합의 합으로도 만들 수 없는 가장 작은 양의 정수를 뜻한다.
예를 들어 이미 , , 달러짜리 상품을 가지고 있고 개를 더 살 수 있다고 하자. 달러와 달러짜리 상품을 사면 우승자는 부터 까지 모든 점수의 상품을 받을 수 있으므로, 받을 수 없는 가장 작은 점수는 이 되며, 이보다 더 좋은 선택은 없다. 이렇게 얻을 수 있는 '받을 수 없는 가장 작은 점수'의 최댓값을 출력하라.
입력
첫째 줄에 정수 두 개 과 이 주어진다. 은 주최 측이 이미 가지고 있는 상품의 수, 은 추가로 구매할 상품의 수이다 (, ).
둘째 줄에는 이미 가지고 있는 상품의 값 이 주어진다 (). 이면 둘째 줄은 비어 있다.
출력
정수 하나를 출력한다. 개의 상품을 사는 모든 방법 중에서, 우승자가 받을 수 없는 가장 작은 양의 정수 점수가 가질 수 있는 최댓값이다.