👤

Buna!
Ma poate ajuta cineva cu problema #299 SumeSecv de pe pbinfo??

#299 SumeSecv
Clasa a 9-a Tablouri unidimensionale (vectori) Probleme cu secvențe SumeSecv
Etichete: nicio etichetă


Enunț
Soluții
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
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


Răspuns :

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("sumesecv.in");

ofstream g("sumesecv.out");

int v[101], n, i, j, m, s, k, b;

int main()

{

   f >> n;

   for (i=1; i<=n; ++i)

       f >> v[i];

   f >> m;

   for (k=1; k<=m; ++k)

   {

       f >> i >> j;

       s=0;

       for (b=i; b<=j; ++b)

           s=s+v[b];

       g << s << " ";

   }

}

Explicație: