Вот это условие непонятно:
"если пользователь ввел 45, то надо набрать СУММУ кратностей равную 70 (1 коробка по 70, потому что в приоритет ставится дать меньшее число монет)"
Если без него, то решение вот такое (для 45 ответ будет 60):
def f(v):
n=(v+9)//10
if n<7: n=(n+2)//3*3
if n in (8,11): n+=1
return n*10