Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Correcto
|
0.006 s | 5 KBi |
#2 |
Correcto
|
0.004 s | 7 KBi |
#3 |
Correcto
|
0.005 s | 6 KBi |
#4 |
Correcto
|
0.005 s | 5 KBi |
#5 |
Correcto
|
0.005 s | 51 KBi |
#6 |
Correcto
|
0.007 s | 9 KBi |
#7 |
Correcto
|
0.006 s | 5 KBi |
#8 |
Correcto
|
0.171 s | 8 KBi |
#9 |
Tiempo límite excedido
|
0.669 s | 10 KBi |
#10 |
Tiempo límite excedido
|
0.636 s | 10 KBi |
#11 |
Tiempo límite excedido
|
0.553 s | 11 KBi |
#12 |
Tiempo límite excedido
|
0.627 s | 10 KBi |
#13 |
Tiempo límite excedido
|
0.481 s | 27 KBi |
#14 |
Tiempo límite excedido
|
1.005 s | 11 KBi |
// Solution to https://codeo.app/problemas/0x25-suma-de-un-subarreglo package main import ( "fmt" ) func solve(a, s []int, p, q int) { // O(1) sum := s[q] // a[0] + a[1] + ... + a[q] if (p - 1 >= 0) { sum -= s[p - 1] } // Alternatively, this works too, and some people might like it more. // sum := s[q] - s[p] + a[p]; fmt.Println(sum) } func main() { var n int _, err := fmt.Scanf("%d", &n) if err != nil { panic(err) } a := make([]int, n) for i := 0; i < n; i++ { _, err := fmt.Scanf("%d", &a[i]) if err != nil { panic(err) } } s := make([]int, n) // s[i] = sum of a[0] + ... + a[i] // O(n) sum := 0 for i := 0; i < n; i++ { sum += a[i] s[i] = sum } var c int _, err = fmt.Scanf("%d", &c) if err != nil { panic(err) } for k := 0; k < c; k++ { var p, q int _, err := fmt.Scanf("%d %d", &p, &q) if err != nil { panic(err) } solve(a, s, p, q) } }