Cambio de monedas II
Tiempo límite
2 s
Memoria límite
256 MB
Casos de prueba
9
Tienes monedas de \(m\) denominaciones distintas, con cantidad ilimitada de cada una. Cuenta de cuántas formas se puede pagar exactamente el monto \(s\). El orden no importa: \(1 + 2\) y \(2 + 1\) son la misma forma. Pagar \(0\) tiene una forma (no usar monedas).
Entrada
La primera línea tiene \(s\) \((0 \le s \le 5000)\) y \(m\) \((1 \le m \le 300)\). La segunda tiene las \(m\) denominaciones, distintas y entre \(1\) y \(5000\).
Salida
La cantidad de formas, módulo \(10^9 + 7\).
Ejemplo 1
Entrada
5 3
1 2 5
Salida
4
Ejemplo 2
Entrada
3 1
2
Salida
0
Ejemplo 3
Entrada
10 1
10
Salida
1
Comentarios