Une liste de nombres est appelée croissante monotone (ou non décroissante) si chaque élément est supérieur ou égal à l'élément qui le précède.
Par exemple, 1, 1, 2, 4, 5, 5, 5, 8, 10, 11, 14, 14
augmente de façon monotone.
Étant donné une liste monotoniquement croissante d'entiers positifs qui a un nombre arbitraire de taches vides désignées par ?
, remplissez les taches vides avec des entiers positifs de telle sorte que le plus grand nombre possible d'entiers uniques soient présents dans la liste, mais cela reste monotone.
Il peut y avoir plusieurs façons d'y parvenir. Tout est valide.
Sortez la liste résultante.
Par exemple , si l'entrée est
?, 1, ?, 1, 2, ?, 4, 5, 5, 5, ?, ?, ?, ?, 8, 10, 11, ?, 14, 14, ?, ?
il est garanti que sans les espaces vides, la liste augmentera de façon monotone
1, 1, 2, 4, 5, 5, 5, 8, 10, 11, 14, 14
et votre tâche consiste à affecter des entiers positifs à chacun
?
pour maximiser le nombre d'entiers distincts dans la liste tout en la gardant non décroissante.Une affectation non valide est
1, 1, 1, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5, 8, 10, 11, 14, 14, 14, 14, 14
car, bien qu'il ne soit pas décroissant, il n'a qu'un seul entier de plus que l'entrée, à savoir
3
.Dans cet exemple, il est possible d'insérer six entiers positifs uniques et de maintenir la liste non décroissante.
Deux façons possibles sont:1, 1, 1, 1, 2, 3, 4, 5, 5, 5, 6, 7, 8, 8, 8, 10, 11, 12, 14, 14, 15, 16 1, 1, 1, 1, 2, 3, 4, 5, 5, 5, 5, 6, 6, 7, 8, 10, 11, 13, 14, 14, 20, 200
L'un ou l'autre (et bien d'autres) serait une sortie valide.
Tous les espaces vides doivent être remplis.
Il n'y a pas de limite supérieure sur les entiers qui peuvent être insérés. Ce n'est pas grave si de très grands nombres entiers sont imprimés en notation scientifique.
Zéro n'est pas un entier positif et ne doit jamais être inséré.
Au lieu de ?
vous pouvez utiliser une valeur constante qui n'est pas un entier positif, comme 0
, -1
, null
, False
ou ""
.
Le code le plus court en octets gagne.
Plus d'exemples
[input]
[one possible output] (a "*" means it is the only possible output)
2, 4, 10
2, 4, 10 *
1, ?, 3
1, 2, 3 *
1, ?, 4
1, 2, 4
{empty list}
{empty list} *
8
8 *
?
42
?, ?, ?
271, 828, 1729
?, 1
1, 1 *
?, 2
1, 2 *
?, 3
1, 3
45, ?
45, 314159265359
1, ?, ?, ?, 1
1, 1, 1, 1, 1 *
3, ?, ?, ?, ?, 30
3, 7, 10, 23, 29, 30
1, ?, 2, ?, 3, ?, 4
1, 1, 2, 3, 3, 3, 4
1, ?, 3, ?, 5, ?, 7
1, 2, 3, 4, 5, 6, 7 *
1, ?, 3, ?, 5, ?, ?, 7
1, 2, 3, 4, 5, 6, 7, 7
1, ?, ?, ?, ?, 2, ?, ?, ?, ?, 4, ?, 4, ?, ?, 6
1, 1, 1, 1, 1, 2, 3, 4, 4, 4, 4, 4, 4, 5, 6, 6
98, ?, ?, ?, 102, ?, 104
98, 99, 100, 101, 102, 103, 104 *