이상한 화폐 시스템
면접 대비시간 제한8초메모리 제한512 MB
최대 10000개의 지폐 값이 주어질 때, 부분집합의 합으로 만들 수 없는 가장 작은 양의 금액을 구한다.
문제
요악무스티 왕국의 화폐 시스템은 이상하고 꽤 비효율적이다. 다른 나라들처럼 이 왕국에도 K $ (왕국 달러)라는 자체 화폐 단위가 있다. 그러나 재무부는 1 K $부터 (231 - 1) K $까지의 모든 가치에 해당하는 지폐를 발행한다.
한편, 이 시스템 덕분에 사람들은 적은 수의 지폐만으로도 여러 값을 만들 수 있다. 예를 들어 1 K $, 2 K $, 4 K $, 8 K $짜리 지폐를 각각 한 장씩 가지고 있다면 1 K $부터 15 K $까지의 모든 값을 만들 수 있다.
이 문제에서는 주어진 지폐 집합(수학적 의미의 중복집합)으로 만들 수 없는 최솟값을 찾는 프로그램을 작성해야 한다. 1 K $, 2 K $, 4 K $, 8 K $짜리 지폐 네 장이 있는 경우, 15 K $까지의 모든 값을 만들 수 있으므로 프로그램은 16 K $를 출력해야 한다.
입력
입력은 두 줄로 이루어진다. 첫째 줄에는 지폐의 수 N (1 ≤ N ≤ 10000)이 주어진다. 둘째 줄에는 N개의 정수가 주어지며, 각 정수는 지폐의 가치를 K $ 단위로 나타낸다. 같은 가치의 지폐가 여러 장 있을 수 있다.
출력
만들 수 없는 최솟값을 한 줄에 출력한다. 값은 K $ 단위로 주어지며, 통화 기호나 이름은 쓰지 않는다.