CSES - Eniten kolikkoja

Annettuna on n kolikkoa ja summa x. Laske, mikä on suurin määrä kolikkoja, joilla summa voidaan muodostaa.

Voit olettaa, että 1 \le n \le 10 ja 1 \le x \le 100. Algoritmisi tulee toimia tehokkaasti kaikissa tapauksissa.

Toteuta tiedostoon maxcoin.py funktio find, joka palauttaa tehtävän vastauksen. Jos summaa ei ole mahdollista muodostaa mitenkään, funktion tulee palauttaa -1.

def find(x, coins):
    # TODO

if __name__ == "__main__":
    print(find(13, [1, 2, 5])) # 13
    print(find(13, [2, 3, 5])) # 6
    print(find(13, [2, 4, 6])) # -1
    print(find(42, [8, 9, 11, 15])) # 5

Selitys: Kun x=13 ja kolikot ovat [2,3,5], optimiratkaisu on [2,2,2,2,2,3].