Pagini recente » Cod sursa (job #2428453) | Cod sursa (job #1062834) | Cod sursa (job #1386060) | Cod sursa (job #1518003) | Cod sursa (job #658003)
Cod sursa(job #658003)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int v[15100],m,n;
void act(int poz, int val)
{
for(int i=poz;i<=n;i+=(i&(-i)))
v[i]+=val;
}
int suma(int poz)
{
int t=0;
for(int i=poz;i>0;i-=(i&(-i))) t+=v[i];
return t;
}
void rez()
{
int o,x,y;
for(int i=0;i<m;i++)
{
in >> o >> x >> y;
if(o) out << suma(y) - suma(x-1) << endl;
else act(x, -y);
}
}
void citeste()
{
in >> n >> m;
int x;
for(int i=1;i<=n;i++)
{
in >> x;
act(i,x);
}
}
int main()
{
citeste();
rez();
return 0;
}