Étant donné une liste non triée d'entiers positifs uniques, affichez la liste la plus courte des plages d'entiers séquentiels les plus longues possibles.
CONTRIBUTION
- Une liste non triée d'entiers positifs uniques
- par exemple
9 13 3 11 8 4 10 15
- par exemple
- L'entrée peut provenir de l'un des éléments suivants:
stdin- arguments de ligne de commande
- arguments de fonction
PRODUCTION
- Une liste ordonnée de plages ou de valeurs individuelles imprimées sur une ligne vers la sortie standard ou la sortie similaire la plus proche de votre langue.
- Si deux ou plusieurs entiers séquentiels (séquentiels par valeur, et non par emplacement dans la liste) sont présents, ils seront désignés comme une plage inclusive en utilisant -, par exemple
8-11 - Tous les autres entiers sont simplement imprimés sans autre notation
- Un seul espace délimitera la sortie
- Si deux ou plusieurs entiers séquentiels (séquentiels par valeur, et non par emplacement dans la liste) sont présents, ils seront désignés comme une plage inclusive en utilisant -, par exemple
- Les nombres non présents dans l'entrée ne doivent pas être dans la sortie, par exemple
3 5 6ne peuvent pas être raccourcis3-6car4absents
EXEMPLES
Réussi:
IN> 9 13 3 11 8 4 10 15 6
OUT> 3-4 6 8-11 13 15
IN> 11 10 6 9 13 8 3 4 15
OUT> 3-4 6 8-11 13 15
IN> 5 8 3 2 6 4 7 1
OUT> 1-8
IN> 5 3 7 1 9
OUT> 1 3 5 7 9
Faux:
IN> 9 13 3 11 8 4 10 15
OUT> 3-15
La plage contient des valeurs absentes de l'entrée
IN> 9 13 3 11 8 4 10 15
OUT> 3 4 8 9 10 11 13 15
Toutes les valeurs séquentielles doivent être représentées par une plage
IN> 9 13 3 11 8 4 10 15
OUT> 3-4 8-9 10-11 13 15
Plage divisée, 8-9et 10-11doit être8-11
IN> 9 13 3 11 8 4 10 15
OUT> 8-9 13 10-11 3-4 15
Sortie non ordonnée correctement
RÈGLES
- Les failles standard sont interdites
- Si votre langue a une fonction pour ce faire, ce n'est pas autorisé
- Vous pouvez écrire un programme complet ou une fonction
- l'espace blanc arrière n'a pas d'importance
NOTATION
- Le moins d'octets gagne