Time limit: 3s
Memory limit: 256MB
Input:
Output:
Cerință
Pentru un vector cu numere se definește costul unui interval în felul următor:
int f(int l, int r){
int cost = 0;
for(int i = l; i <= r; i += A[i])
cost += A[i];
return cost;
}
Se dă un vector cu elemente și un număr , iar voi trebuie să răspundeți la întrebări de forma: pentru și date () calculați .
Date de intrare
Pe prima linie se află și , numărul de elemente din vector respectiv numărul de întrebări. Pe următoarea linie se află numere naturale separate prin câte un spațiu. Pe următoarele linii se află exact numere ( și ).
Date de ieșire
Pe fiecare dintre cele linii se va afla răspunsul la întrebarea respectivă.
Restricții și precizări
Exemplul 1
stdin
10 6
6 2 3 3 3 6 4 6 3 2
3 9
1 7
3 7
3 9
5 10
2 6
stdout
44
48
29
44
30
26
Exemplul 2
stdin
19 13
1 3 2 4 1 1 3 2 4 4 6 1 4 2 2 6 5 1 3
5 14
4 9
4 16
5 9
6 8
8 10
4 4
1 7
2 9
2 18
7 8
9 9
10 17
stdout
69 //nice
24
131
18
9
14
4
40
39
201
5
4
68 //😩😩😩😩😩😩😩😩😩😩😩😩😩😩