Pagini recente » Cod sursa (job #3130054) | Cod sursa (job #30627) | Cod sursa (job #139801) | Cod sursa (job #3167868) | Cod sursa (job #3128789)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
/// Date de intrare
// Fisierul datorii.in va contine pe prima linie numerele N si M. Pe urmatoarea linie se afla valorile sirului A1, A2... AN separate prin cate un spatiu. Urmatoarele M linii descriu operatiile (achitari sau interogari) efectuate in ordinea data. Fiecare linie care descrie o operatie incepe cu un cod binar (un numar intreg cu valoarea 0 sau 1) si continua cu 2 numere intregi.
// Un cod 0 urmat de doua numere intregi T, V (1 ≤ T ≤ N, 1 ≤ V ≤ 1000) reprezinta o operatie de tip A (in momentul respectiv s-a achitat o valoare V din suma restanta a zilei T)
// Un cod 1 urmat de doua numere intregi P, Q (1 ≤ P ≤ Q ≤ N) o operatie de tip B (se cere suma tuturor sumelor restante din zilele P, P+1, P+2... Q in momentul respectiv).
int main()
{
int n, m;
fin >> n >> m;
vector<int> zile(n+1);
for (int i = 1; i < n+1; ++i)
{
fin >> zile[i];
}
for (int i = 0; i < m; ++i)
{
int cod, t, v, p, q;
fin >> cod;
if (cod == 0)
{
fin >> t >> v;
zile[t] -= v;
}
else
{
fin >> p >> q;
int suma = 0;
for (int j = p; j <= q; ++j)
{
suma += zile[j];
}
fout << suma << '\n';
}
}
return 0;
}