def rendu_monnaie_solution(pieces, s):
    """renvoie une liste minimale de pièces pour faire
       la somme s avec le système pieces"""
    # on initialise nb et sol avec ce qui
    # correspond à la solution 1+1+...+1 (n fois)
    nb = [n for n in range(s + 1)]
    sol = [[1]*n for n in range(s + 1)]
    for n in range(1, s + 1):
        for p in pieces:
            if p <= n and 1 + nb[n - p] < nb[n]:
                nb[n] = 1 + nb[n - p]
                sol[n] = sol[n - p].copy()
                sol[n].append(p)
    return sol[s]