Considérez un tableau Ade 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 Asont (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 Sdonné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 Xtel que f(X) = S.
Par exemple, si S = {1,2,3,5,6}et n = 3alors une sortie valide est X = (1,2,3).
S'il n'y a pas un tel tableau, Xvotre 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 njusqu'à 15mais vous n'avez pas besoin de prouver qu'il serait assez rapide pour toutes les entrées.