Considérez un tableau A
de longueur n
. Le tableau ne contient que des entiers positifs. Par exemple A = (1,1,2,2)
. Définissons f(A)
comme l'ensemble des sommes de tous les sous-réseaux contigus non vides de A
. Dans ce cas f(A) = {1,2,3,4,5,6}
. Les étapes de production f(A)
sont les suivantes:
Les sous-réseaux de A
sont (1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2)
. Leurs sommes respectives sont 1,1,2,2,2,3,4,4,5,6
. L'ensemble que vous obtenez de cette liste est donc {1,2,3,4,5,6}
.
Tâche
Étant donné un ensemble de sommes S
données dans un ordre trié ne contenant que des entiers positifs et une longueur de tableau n
, votre tâche consiste à générer au moins un tableau X
tel que f(X) = S
.
Par exemple, si S = {1,2,3,5,6}
et n = 3
alors une sortie valide est X = (1,2,3)
.
S'il n'y a pas un tel tableau, X
votre code devrait afficher n'importe quelle valeur constante.
Exemples
Entrée n=4, S = (1, 3, 4, 5, 6, 8, 9, 10, 13)
:, sortie possible:X = (3, 5, 1, 4)
Entrée n=6, S = (2, 3, 4, 5, 7, 8, 9, 10, 12, 14, 17, 22)
:, sortie possible:X = (5, 3, 2, 2, 5, 5)
Entrée n=6, S = (2, 4, 6, 8, 10, 12, 16)
:, sortie possible:X = (4, 2, 2, 2, 2, 4)
Entrée n=6, S = (1, 2, 3, 4, 6, 7, 8, 10, 14)
:, sortie possible:X = (4, 2, 1, 1, 2, 4)
Entrée: n=10, S = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 23, 24, 25)
, sortie possible: X = (1, 1, 3, 1, 2, 1, 2, 5, 4, 5)
.
Entrée: n=15, S = (1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31)
, sortie possible: X = (1, 2, 1, 3, 3, 1, 3, 3, 1, 3, 3, 1, 2, 1, 3)
.
Format d'entrée et de sortie
Votre code peut prendre en entrée et donner une sortie dans n'importe quel format de lecture facilement humain que vous trouvez commode. Cependant, veuillez montrer le résultat du test sur les exemples de la question.
Durée
Vous devez être en mesure d'exécuter le code jusqu'à la fin pour tous les exemples de la question. Il devrait en principe être correct n
jusqu'à 15
mais vous n'avez pas besoin de prouver qu'il serait assez rapide pour toutes les entrées.