Parteciperai a un gameshow. Una delle sfide funziona come segue:
- La prima stanza contiene un gran numero di palle identiche.
- La seconda stanza contiene una serie di scivoli, ognuno dei quali ha un sensore che conta quante palle sono state posizionate al suo interno. Una palla che viene messa in uno scivolo non può quindi essere recuperata.
- Ogni scivolo si innescherà dopo che un certo numero di palline (il suo conteggio di innesco ) è stato inserito in esso. Quando si attiva, fa lampeggiare le luci, fa un rumore e non lascia dubbi sul fatto che si sia innescato.
- È necessario attivare gli
N
scivoli per passare alla sfida successiva. - Sai il conteggio dei trigger, ma non la corrispondenza tra conteggio e scivolo.
- Hai un'opportunità per prendere le palle dalla prima stanza alla seconda. Una volta che hai messo una palla in uno scivolo, non puoi tornare indietro per altre palle.
- Ogni palla che prendi detrae denaro dal jackpot.
Ovviamente vuoi assicurarti di superare la sfida, ma vuoi minimizzare la perdita di denaro del jackpot. Scrivi un programma, una funzione, un verbo, ecc. Per dirti quante palle hai bisogno.
Esempio
Supponiamo che i conteggi dei trigger siano 2, 4 e 10 e che per passare siano necessari 2 scivoli. Esiste una strategia per passare con 10 palline: posizionare fino a 4 palline nel primo scivolo, fino a 4 palline nel secondo scivolo e fino a 4 palline nel terzo scivolo. Dal momento che uno dei tre scivoli si innescherà dopo solo 2 palline, utilizzerai solo un totale di 10. Non esiste una strategia che garantisca il funzionamento con meno di 10, quindi è l'output corretto.
Ingresso
L'input è costituito da una matrice di conteggi di trigger interi e da un numero intero che fornisce il numero di scivoli da attivare. Puoi prendere i due input in entrambi gli ordini e, se necessario, puoi prendere un terzo input con la lunghezza dell'array.
Si può presumere che tutti gli ingressi siano maggiori di zero e che il numero di scivoli che devono essere attivati non superi il numero di scivoli.
Puoi anche presumere che i conteggi siano ordinati (crescente o decrescente), purché lo dichiari chiaramente nella tua risposta.
Produzione
L'output dovrebbe essere un singolo numero intero, fornendo il numero di palline richieste dalla strategia ottimale.
Casi test
Formato: N counts solution
1 [2 4 10] 6
2 [2 4 10] 10
3 [2 4 10] 16
1 [3 5 5 5 5 5 5 5 5 5] 5
2 [1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 8 11] 8
2 [1 2 6 6 6 6 6 6 6 10] 16
2 [1 2 3 3 4 4 6 6 6 11] 17
3 [1 2 3 4 5 5 6] 16
3 [2 4 7 7 7 7 7 7 7] 21
5 [1 2 2 3 3 3 3 3 5 9 9 11] 27
2 [5 15 15] 25
1 [4 5 15] 10
3 [1 4 4 4] 10
2 [1 3 4] 6
2 [1 3 3 8] 8