Pagini recente » Cod sursa (job #3194533) | Cod sursa (job #1907935) | Cod sursa (job #1057241) | Cod sursa (job #1862212) | 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;
}