Tous les défis
Moyen 0 résolus 0 % de réussite

Plus petite somme impossible avec les pièces

Trouvez le premier montant positif qui ne peut pas être obtenu avec les pièces disponibles.

Vous pouvez sélectionner n'importe quel sous-ensemble des pièces fournies. Chaque pièce individuelle ne peut être utilisée qu'une seule fois, même si plusieurs pièces ont la même valeur. Trouvez le plus petit entier positif qu'aucune sélection ne peut produire.

Implémentez missing_coin_sum(coins).

Entrée

coins : Les valeurs des pièces disponibles ; les doublons représentent des pièces distinctes.

Sortie

Retournez le plus petit montant positif impossible à obtenir.

Contraintes

1 ≤ nombre de pièces ≤ 200 000. Chaque valeur est comprise entre 1 et 1 000 000 000.

Exemples

Exemple 1
Entrée :
coins = [1, 1, 4]

Sortie attendue :
expected = 3
Entrée :
std::vector<long long> coins = {1, 1, 4};

Sortie attendue :
long long expected = 3;
Entrée :
long[] coins = new long[] {1, 1, 4};

Sortie attendue :
long expected = 3;

Explication

Les montants 1 et 2 sont réalisables avec les pièces de valeur 1. Aucun sous-ensemble disponible ne permet d'obtenir 3.

Exemple 2
Entrée :
coins = [2, 3]

Sortie attendue :
expected = 1
Entrée :
std::vector<long long> coins = {2, 3};

Sortie attendue :
long long expected = 1;
Entrée :
long[] coins = new long[] {2, 3};

Sortie attendue :
long expected = 1;

Explication

Il est impossible d'obtenir 1 car chaque pièce vaut au moins 2.

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.