Если вам подойдёт одним циклом:
arr = {
~~-9 : { 10: 0, 5: 0, 2: 0 } , -8 : { 10: 0, 5: 0, 2: 0 } ,
~~-7 : { 10: 0, 5: 0, 2: 0 } , -6 : { 10: 0, 5: 0, 2: 0 } ,
~~-5 : { 10: 0, 5: 0, 2: 0 } , -4 : { 10: 0, 5: 0, 2: 0 } ,
~~-3 : { 10: 0, 5: 0, 2: 0 } , -2 : { 10: 0, 5: 0, 2: 0 } ,
~~-1 : { 10: 0, 5: 0, 2: 0 } , 0 : { 10: 0, 5: 0, 2: 0 } }
n = int(input())
for i in range(1, n + 1):
~~arr[i] = {
~~~~10 : (i >= 10) + arr[i - 10][10] + arr[i - 10][5] + arr[i - 10][2],
~~~~5: (i >= 5) + arr[i - 5][5] + arr[i - 5][2],
~~~~2: (i >= 2) + arr[i - 2][2]
~~ }
print(arr[n][10] + arr[n][5] + arr[n][2] + 1)
Возможно есть ошибка.