Module: Décomposition des racines


Problem

1 /6


Somme sur segment - 1

Theory Click to read/hide

Nous avons un problème sur la façon de calculer rapidement les sommes sur l'intervalle l...r dans un tableau statique a en moins de O(n) asymptotique.
Divisons le tableau a en k blocs de même taille et calculons d'abord la somme des éléments pour chacun d'eux.
Maintenant, en répondant à la requête, nous pouvons parcourir les éléments du tableau a et les ajouter au résultat, même si l'un des blocs se trouve à l'intérieur du segment, alors nous pouvons ajouter sa somme au résultat et ignorer le éléments de ce bloc.
Le nombre maximum d'opérations par requête avec cet algorithme est n / k + k, donc le k optimal est égal à la racine carrée de n.
 

Problem

Étant donné un tableau a de longueur n (\(1 <= n <= 2 \cdot 10^6\ )< /span>, \(1 <= a_i <= 10^9\)). Donne également des requêtes m (\(1 <= m <= 500\)) comme l, r (\(1 <= l <= r <= n\)).

Pour chaque requête, imprimez la somme des nombres entre l et r inclus. Les éléments sont numérotés en commençant par 1 à n.

 

Exemples
4
1 2 3 4
2
1 4
1 1
5
5 5 5 5 5
1
5 5
# Entrée Sortie
1 10
1
2 5