Module: Wurzeldekomposition


Problem

1 /6


Die Summe pro Strecke beträgt 1

Theory Click to read/hide

Wir haben eine Herausforderung, wie schnell die Mengen auf dem l...r in der statischen Absorption auf weniger als O(n) zu zählen.
Trennen Sie a bis k Blöcke gleicher Größe und berechnen Sie vorläufig die Summe der Elemente für jeden.
Nun können wir in Reaktion auf die Anfrage auf die Elemente der Masse a fortfahren und sie dem Ergebnis hinzufügen, auch wenn einer der Blöcke innerhalb des Schnittes liegt, können wir die Menge zum Ergebnis hinzufügen und die Elemente dieses Blocks vermissen.
Die maximale Anzahl von Abfrageoperationen bei einem solchen Algorithmus ist n / k + k, daher ist die optimale k gleich der Quadratwurzel von n.

Problem

Дан массив a длины n (\(1 <= n <= 2 \cdot 10^6\), \(1 <= a_i <= 10^9\)). Также даны m (\(1 <= m <= 500\)) запросов вида l, r (\(1 <= l <= r <= n\)).

На каждый запрос нужно вывести сумму чисел на отрезке от l до r включительно. Элементы нумеруются с 1 до n.

 

Примеры
Входные данные Выходные данные
1
4
1 2 3 4
2
1 4
1 1
10
1
2
5
5 5 5 5 5
1
5 5
5