Considera una matrice A
di lunghezza n
. La matrice contiene solo numeri interi positivi. Per esempio A = (1,1,2,2)
. Definiamo f(A)
come l'insieme delle somme di tutti i sottocampi contigui non vuoti di A
. In questo caso f(A) = {1,2,3,4,5,6}
. I passaggi per produrre f(A)
sono i seguenti:
I subarrays di A
sono (1), (1), (2), (2), (1,1), (1,2), (2,2), (1,1,2), (1,2,2), (1,1,2,2)
. Le loro rispettive somme sono 1,1,2,2,2,3,4,4,5,6
. Il set che ottieni da questo elenco è quindi {1,2,3,4,5,6}
.
Compito
Dato un insieme di somme S
date in ordine ordinato contenente solo numeri interi positivi e una lunghezza di array n
, il tuo compito è quello di produrre almeno un array in X
modo tale f(X) = S
.
Ad esempio, se S = {1,2,3,5,6}
e n = 3
quindi un output valido è X = (1,2,3)
.
Se non esiste tale array, X
il codice dovrebbe generare un valore costante.
Esempi
Input:, n=4, S = (1, 3, 4, 5, 6, 8, 9, 10, 13)
possibile output:X = (3, 5, 1, 4)
Input:, n=6, S = (2, 3, 4, 5, 7, 8, 9, 10, 12, 14, 17, 22)
possibile output:X = (5, 3, 2, 2, 5, 5)
Input:, n=6, S = (2, 4, 6, 8, 10, 12, 16)
possibile output:X = (4, 2, 2, 2, 2, 4)
Input:, n=6, S = (1, 2, 3, 4, 6, 7, 8, 10, 14)
possibile output:X = (4, 2, 1, 1, 2, 4)
Ingresso: 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)
, possibile uscita: X = (1, 1, 3, 1, 2, 1, 2, 5, 4, 5)
.
Ingresso: 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)
, possibile uscita: X = (1, 2, 1, 3, 3, 1, 3, 3, 1, 3, 3, 1, 2, 1, 3)
.
Formato di input e output
Il tuo codice può accettare input e fornire output in qualsiasi formato di lettura facilmente comprensibile per te. Tuttavia, si prega di mostrare l'output del test sugli esempi nella domanda.
Tempo di esecuzione
Devi essere in grado di eseguire il codice fino al completamento per tutti gli esempi nella domanda. In linea di principio dovrebbe essere corretto per un n
massimo di, 15
ma non è necessario dimostrare che sarebbe abbastanza veloce per tutti gli input.