Pagini recente » Cod sursa (job #2055019) | Cod sursa (job #2172024) | Cod sursa (job #2573053) | Cod sursa (job #953347) | Cod sursa (job #1730378)
#include <bits/stdc++.h>
using namespace std;
int a[15005];
int n, m;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int Sum(int p)
{
int i, s = 0;
for(i = p; i >= 1; i-=i&-i)
s+=a[i];
return s;
}
void Update(int p, int val)
{
int i;
for(i = p; i <=n; i += i&-i)
a[i]+=val;
}
int main()
{
int i, x, y, z, k;
fin >> n>> m;
for(i = 1; i <= n; i++)
{
fin >> x;
Update(i, x);
}
for(k = 1; k <= m; k++)
{
fin >> x >> y >> z;
if(x==1)
{
fout << Sum(z) - Sum(y - 1) << "\n";
}
else
Update(y, -z);
}
fin.close();
fout.close();
return 0;
}