Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Correcto
|
0.004 s | 7 KBi |
#2 |
Correcto
|
0.005 s | 5 KBi |
#3 |
Correcto
|
0.005 s | 4 KBi |
#4 |
Correcto
|
0.004 s | 5 KBi |
#5 |
Correcto
|
0.004 s | 6 KBi |
#6 |
Correcto
|
0.006 s | 5 KBi |
#7 |
Correcto
|
0.006 s | 5 KBi |
#8 |
Correcto
|
0.165 s | 10 KBi |
#9 |
Correcto
|
0.416 s | 7 KBi |
#10 |
Correcto
|
0.408 s | 7 KBi |
#11 |
Correcto
|
0.426 s | 7 KBi |
#12 |
Correcto
|
0.413 s | 7 KBi |
#13 |
Correcto
|
0.454 s | 8 KBi |
#14 |
Correcto
|
0.432 s | 8 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) } }