Cerinţa
Se dă un vector cu n
elemente numere naturale, numerotate de la 1
la n
, și m
perechi de indici (i,j)
, cu 1≤i<j≤n
. Să se determine, pentru fiecare pereche (i,j)
, suma elementelor din secvenţa determinată de i
şi j
.
Date de intrare
Fişierul de intrare sumesecv.in
conţine pe prima linie numărul n
, iar pe a doua linie cele n
elemente ale vectorului. Următoarea linie conține numărul m
, iar următoarele m
linii câte o pereche de indici i j
.
Date de ieşire
Fişierul de ieşire sumesecv.out
va conţine pe prima linie cele m
sume determinate, separate prin câte un spațiu.
Restricţii şi precizări
1 ≤ n ≤ 100
- elementele vectorului vor fi mai mici decât
1000
1 ≤ m ≤ 100
Exemplu
sumesecv.in
10 5 5 1 3 6 4 1 2 10 6 3 5 8 2 6 6 10
sumesecv.out
13 19 23
#include <bits/stdc++.h> using namespace std; ifstream cin("sumesecv.in"); ofstream cout("sumesecv.out"); int main() { int n, m; cin >> n; int a[101], rez[101]; for(int i = 1; i <= n; ++i) cin >> a[i]; int x, y; cin >> m; for(int i = 1; i <= m; ++i){ cin >> x >> y; int sum = 0; for(int j = x; j <= y; ++j) sum += a[j]; rez[i] = sum; } for(int i = 1; i <= m; ++i) cout << rez[i] << ' '; return 0; }