Todos los desafíos
Intermedio 0 resueltos 0% de aceptación

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.

Restricciones

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

Ejemplos

Ejemplo 1
Entrada:
coins = [1, 1, 4]

Salida esperada:
expected = 3
Entrada:
std::vector<long long> coins = {1, 1, 4};

Salida esperada:
long long expected = 3;
Entrada:
long[] coins = new long[] {1, 1, 4};

Salida esperada:
long expected = 3;

Explicación

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

Ejemplo 2
Entrada:
coins = [2, 3]

Salida esperada:
expected = 1
Entrada:
std::vector<long long> coins = {2, 3};

Salida esperada:
long long expected = 1;
Entrada:
long[] coins = new long[] {2, 3};

Salida esperada:
long expected = 1;

Explicación

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

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.