Enunciado
Recibes un array arr de enteros y una lista de consultas. Cada consulta es un par [i, j] con dos índices, ambos incluidos.
Devuelve un array con la suma de arr[i] + arr[i+1] + ... + arr[j] para cada consulta, en el mismo orden en que llegaron.
Restricciones
0 <= i <= j < len(arr)en todas las consultas.- La lista de consultas puede estar vacía. En ese caso, devuelve un array vacío.
- Tiempo O(n + q), donde
nes el largo del array yqla cantidad de consultas. Recorrer el rango en cada consulta es O(n · q) y no cuenta como solución. - Los valores pueden ser negativos.
Ejemplos
Con arr = [1, 2, 3, 4, 5]:
| consulta | suma | resultado |
|---|---|---|
[0, 2] | 1 + 2 + 3 | 6 |
[1, 3] | 2 + 3 + 4 | 9 |
[0, 4] | todo el array | 15 |
[2, 2] | solo arr[2] | 3 |
Esas cuatro consultas juntas devuelven [6, 9, 15, 3].
Pistas progresivas
0 de 3Intenta resolver el problema antes de ver pistas.