# PBinfo #1933 – sume2 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Fie N un numar natural și un șir de N numere naturale V[1], V[2], …, V[N]. Pentru M  întrebări de forma (i,j), să se calculeze suma termenilor V[i], V[i + 1], …, V[j].

Date de intrare
Pe prima linie a fișierului sume2.in se găsește un număr natural N. Pe urmatoarea linie sunt N numere naturale, reprezentând valorile șirului V. Pe a treia linie se găsește un număr natural M reprezentând numărul de întrebări, iar pe următoarele M linii câte o pereche de numere (i,j), reprezentând o întrebare pentru care se cere să se calculeze suma V[i] + V[i + 1] + ... + V[j].

Date de ieșire
Pe prima linie din fişierul sume2.out se găseşte răspunsul la prima întrebare din fişierul de intrare, pe a doua linie se găseşte răspunsul la cea de-a doua întrebare, și așa mai departe.

Restricții și precizări

1 ≤ N ≤ 100.000
1 ≤ M ≤ 500.000
0 ≤ V[i] ≤ 1.000.000.000
Pentru 30% dintre teste N, M ≤ 1.000

Exemplu:
sume2.in

4
1 2 3 4  
2
1 3
2 4
sume2.out

6
9
Explicație
Suma elementelor de pe pozițiile de la 1 la 3 este 6.
Suma elementelor de pe pozițiile de la 2 la 4 este 9.

## Cod sursă C++

```cpp
#include <fstream>
using namespace std;
ifstream in("sume2.in");
ofstream out("sume2.out");
long long int S[100004], n, m, temp, var;
int main() {
    in >> n;
    for (int i = 1; i <= n; ++i) {
		in >> temp;
        S[i] = S[i - 1] + temp;
    } in >> m;
    for (int i = 1; i <= m; ++i) {
        in >> temp >> var;
        out << S[var] - S[temp - 1] << "\n";
    } return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/1933)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/1933/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-1933/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
