Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Incorrecto
|
0.005 s | 5 KBi |
#2 |
Incorrecto
|
0.004 s | 5 KBi |
#3 |
Incorrecto
|
0.004 s | 8 KBi |
#4 |
Incorrecto
|
0.004 s | 6 KBi |
#5 |
Incorrecto
|
0.398 s | 14 KBi |
#6 |
Incorrecto
|
0.405 s | 13 KBi |
#7 |
Incorrecto
|
0.424 s | 19 KBi |
#8 |
Incorrecto
|
0.32 s | 16 KBi |
#9 |
Tiempo límite excedido
|
1.037 s | 14 KBi |
#10 |
Tiempo límite excedido
|
1.104 s | 10 KBi |
#11 |
Tiempo límite excedido
|
1.095 s | 11 KBi |
#12 |
Tiempo límite excedido
|
1.065 s | 12 KBi |
#13 |
Incorrecto
|
0.37 s | 14 KBi |
#14 |
Tiempo límite excedido
|
1.079 s | 12 KBi |
#15 |
Incorrecto
|
0.691 s | 16 KBi |
package main import "fmt" func contarFormas(denominaciones []int, S int) int { formas := make([]int, S+1) formas[0] = 1 for _, d := range denominaciones { for s := d; s <= S; s++ { formas[s] += formas[s-d] } } return formas[S] } func main() { // Leer la entrada var N int fmt.Print("Ingrese el número de denominaciones: ") fmt.Scan(&N) denominaciones := make([]int, N) fmt.Print("Ingrese las denominaciones separadas por espacios: ") for i := 0; i < N; i++ { fmt.Scan(&denominaciones[i]) } var M int fmt.Print("Ingrese el número de consultas: ") fmt.Scan(&M) for i := 0; i < M; i++ { var consulta int fmt.Printf("Consulta #%d: ", i+1) fmt.Scan(&consulta) formasPosibles := contarFormas(denominaciones, consulta) fmt.Printf("Número de formas posibles para %d centavos: %d\n", consulta, formasPosibles) } }