Cod sursa(job #3338867)
| Utilizator | Data | 5 februarie 2026 12:36:17 | |
|---|---|---|---|
| Problema | Datorii | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <bits/stdc++.h>
using namespace std;
int n, m;
int a[100], b[100];
void adaugare(int i, int v){
while (i <= n)
{b[i] += v;
i += i & -i;}
}
int sumare(int i){
int s = 0;
while (i > 0)
{ s += b[i];
i -= i & -i;
}
return s;
}
int main()
{
int i, x, y, c;
cin >> n >> m;
for (i = 1; i <= n; i++)
{ cin >> a[i];
adaugare(i, a[i]);}
for (i = 1; i <= m; i++)
{
cin >> c >> x >> y;
if (c == 0){
adaugare(x, -y);
}
else{
cout << sumare(y) - sumare(x - 1) << "\n";}
}
return 0;
}
