Pagini recente » Cod sursa (job #1640785) | Cod sursa (job #232942) | Cod sursa (job #2918940) | Cod sursa (job #2050160) | Cod sursa (job #2681066)
#include <fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m,v[15010],a,b,o;
int suma(int poz)
{
int r=0;
for(;poz>=1;poz-=poz&(-poz))
r+=v[poz];
return r;
}
void adn(int poz,int b)
{
for(;poz<=n;poz+=poz&(-poz))
v[poz]+=b;
return;
}
int main()
{
in>>n>>m;
for(int i=1;i<=n;++i)
{
in>>v[i];
v[i]+=suma(i-1)-suma(i-(i&(-i)));
}
for(int y=1;y<=m;++y)
{
in>>o>>a>>b;
if(o==0)
adn(a,-b);
else
out<<suma(b)-suma(a-1)<<'\n';
}
return 0;
}