Pagini recente » Cod sursa (job #1460651) | Cod sursa (job #3032683) | Cod sursa (job #503641) | Istoria paginii runda/oni2010_9_2 | Cod sursa (job #2640701)
#include <fstream>
using namespace std;
long long tree[15001],n;
ifstream in ("datorii.in");
ofstream out ("datorii.out");
void add(int pos,long long val)
{
while (pos<=n)
tree[pos]+=val,pos+=pos&-pos;
}
long long cumFreq(int a)
{
long long sum=0;
while (a)
sum+=tree[a],a-=a&-a;
return sum;
}
int main()
{
int k,a,b,c;
in>>n>>k;
for (int i=1;i<=n;i++)
{
in>>a;
add(i,a);
}
for (int i=1;i<=k;i++)
{
in>>a>>b>>c;
if (a)
out<<cumFreq(c)-cumFreq(b-1)<<'\n';
else
add(b,-c);
}
return 0;
}