introduzione
Hai un amico che continua a chiederti prestiti e te ne stai stancando. Oggi è venuto di nuovo in prestito. Invece di rifiutare la sua offerta, hai una grande idea: troll il tuo amico dandogli il maggior numero possibile di monete / banconote.
Sfida
Prenderai come input: la quantità di denaro per cui il tuo amico desidera un prestito e la quantità di monete / banconote che hai. Per questa sfida, le possibili denominazioni sono $ 20,00, $ 10,00, $ 5,00, $ 2,00, $ 1,00, $ 0,25, $ 0,10, $ 0,05 e $ 0,01. Un esempio di input è 5.67, [5, 3, 4, 5, 5, 9, 8, 1, 2]se il tuo amico vuole $ 5,67 e hai 5 $ 20 banconote, 3 $ 10 banconote, ecc. Il tuo output sarà la quantità di monete / banconote che darà al tuo amico più metallo / carta / plastica possibile.
Se non è possibile dare al tuo amico l'esatta quantità di denaro che desidera, dagli la quantità di denaro che puoi pagare più grande di quella che vuole. Ad esempio, se il tuo amico vuole $ 0,07 ma hai solo [0, 0, 0, 0, 0, 2, 4, 2, 0], dagli 2 monete da $ 0,05 (non 1 $ 0,10 perché non gli darebbe il maggior numero possibile di monete!).
Se il tuo amico vuole più soldi di quelli che hai, dagli tutti i tuoi soldi (e prega che non dovrai comprare nulla).
Casi test
Input: 6.54, [9, 8, 7, 6, 5, 4, 3, 2, 4]
Output: [0, 0, 0, 1, 4, 1, 2, 1, 4]
Input: 2, [0, 1, 0, 0, 0, 0, 0, 0, 0]
Output: [0, 1, 0, 0, 0, 0, 0, 0, 0]
Input: 9999, [0, 0, 0, 0, 0, 0, 0, 0, 1]
Output: [0, 0, 0, 0, 0, 0, 0, 0, 1]
Input: 0, [99, 99, 99, 99, 99, 99, 99, 99, 99]
Output: [0, 0, 0, 0, 0, 0, 0, 0, 0]
Questo è code-golf, quindi vince il codice più corto.
2.00e20.00ma no0.2o0.02:(