Все задачи
Средне Решено: 0 Процент решений: 0%

Smallest Missing Coin Sum

Find the first positive amount that cannot be made from the available coins.

You may select any subset of the supplied coins. Each individual coin may be used at most once, even when multiple coins share a value. Find the smallest positive integer amount that no selection can produce.

Implement missing_coin_sum(coins).

Input

coins: The values of the available coins; duplicates represent separate coins.

Output

Return the smallest positive impossible amount.

Ограничения

1 ≤ number of coins ≤ 200,000. Each value is between 1 and 1,000,000,000.

Примеры

Пример 1
Ввод:
coins = [1, 1, 4]

Ожидаемый вывод:
expected = 3
Ввод:
std::vector<long long> coins = {1, 1, 4};

Ожидаемый вывод:
long long expected = 3;
Ввод:
long[] coins = new long[] {1, 1, 4};

Ожидаемый вывод:
long expected = 3;

Пояснение

Amounts 1 and 2 use the one-valued coins. No available subset totals 3.

Пример 2
Ввод:
coins = [2, 3]

Ожидаемый вывод:
expected = 1
Ввод:
std::vector<long long> coins = {2, 3};

Ожидаемый вывод:
long long expected = 1;
Ввод:
long[] coins = new long[] {2, 3};

Ожидаемый вывод:
long expected = 1;

Пояснение

There is no way to make 1 because every coin is worth at least 2.

Ссылки

Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.

Учитесь у других

Решения сообщества

Пока нет опубликованных решений. Решите задание, чтобы поделиться первым.