Pagini recente » Cod sursa (job #334821) | Cod sursa (job #682269) | Cod sursa (job #2488012) | Cod sursa (job #1394441) | Cod sursa (job #3258696)
#include <fstream>
#define zeros(x) ( (x ^ (x - 1)) & x )
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
const int MAXN = 15005;
int n, m;
int a[MAXN];
void add(int x, int q)
{
for (int i = x; i <= n; i += (i&-i))
a[i] += q;
}
int Compute(int x)
{
int ret = 0;
for (int i = x; i > 0; i-=(i&-i)){
ret += a[i];
}
return ret;
}
int main()
{
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
int val;
cin >> val;
add(i, val);
}
for (int i = 1; i <= m; i++)
{
int x;
cin >> x;
if (x == 0)
{
int t, v;
cin >> t >> v;
add(t, v * (-1));
for (int i = 1; i <= n; i++)
cout << a[i] << ' ';
cout << '\n';
}
else if (x == 1)
{
int p, q;
cin >> p >> q;
cout << Compute(q) - Compute(p - 1) << '\n';
}
}
return 0;
}