Pagini recente » Cod sursa (job #2922524) | Cod sursa (job #308656) | Cod sursa (job #2065513) | Cod sursa (job #1084471) | Cod sursa (job #2423912)
#include <fstream>
using namespace std;
int n, m;
int a[100];
void update(int val, int ind)
{
int poz = 0;
while (ind <= n)
{
a[ind] += val;
poz = ((ind ^ (ind - 1)) & ind);
ind += poz;
}
}
int findSum(int ind)
{
int poz = 0, sum = 0;
while (ind > 0)
{
sum += a[ind];
poz = ((ind ^ (ind - 1)) & ind);
ind -= poz;
}
return sum;
}
int query(int st, int dr)
{
return findSum(dr) - findSum(st-1);
}
int main()
{ int cod, x, y;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
cin >> n >> m;
for (int i = 1; i <= n; i++) { cin >> x;
update(x, i); }
for (int i = 1; i <= m; i++)
{
cin >> cod;
if (cod == 0) {
cin >> x >> y;
update(-y, x);
}
}
return 0;
}