Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Correcto
|
0.009 s | 3 KBi |
#2 |
Correcto
|
0.052 s | 3 KBi |
#3 |
Correcto
|
0.008 s | 3 KBi |
#4 |
Correcto
|
0.018 s | 3 KBi |
#5 |
Tiempo límite excedido
|
1.581 s | 3 KBi |
#6 |
Tiempo límite excedido
|
1.577 s | 3 KBi |
#7 |
Tiempo límite excedido
|
1.6 s | 3 KBi |
#8 |
Tiempo límite excedido
|
1.545 s | 3 KBi |
#9 |
Tiempo límite excedido
|
1.562 s | 3 KBi |
#10 |
Tiempo límite excedido
|
1.571 s | 3 KBi |
#11 |
Tiempo límite excedido
|
1.6 s | 3 KBi |
#12 |
Tiempo límite excedido
|
1.572 s | 3 KBi |
#13 |
Tiempo límite excedido
|
1.537 s | 3 KBi |
#14 |
Tiempo límite excedido
|
1.6 s | 3 KBi |
#15 |
Tiempo límite excedido
|
1.574 s | 3 KBi |
N = int(input()) monedas = list(map(int, input().split(' '))) M = int(input()) for i in range(M): cantidad = int(input()) tbl = [0] * (cantidad + 1) # cada espacio representa una cantidad de monedas hasta la cantidad que buscamos, que es la ultima tbl[0] = 1 # si hay 0 monedas, hay 1 forma de distribuirlas: 0 for i in range(len(monedas)): for j in range(monedas[i],len(tbl)): if monedas[i] <= j: tbl[j] = (tbl[j] + tbl[j - monedas[i]]) % 1000000007 print(tbl[cantidad])