Pagini recente » Cod sursa (job #1890354) | Cod sursa (job #1540112) | Cod sursa (job #1705387) | Cod sursa (job #520384) | Cod sursa (job #1848077)
#include <fstream>
using namespace std;
ifstream fi("datorii.in");
ofstream fo("datorii.out");
int n,m;
int A[15001],AIB[15001];
int i,tip,p,q;
void update(int AIB[],int poz,int val)
{
while(poz<=n)
{
AIB[poz]+=val;
poz+=poz&(-poz);
}
}
int f(int poz)
{
int s=0;
while(poz>=1)
{
s+=AIB[poz];
poz-=poz&(-poz);
}
return s;
}
int suma(int st,int dr)
{
return f(dr)-f(st-1);
}
int main()
{
fi>>n>>m;
for(i=1;i<=n;i++)
{
fi>>A[i];
update(AIB,i,A[i]);
}
for(i=1;i<=m;i++)
{
fi>>tip>>p>>q;
if(tip==0)
update(AIB,p,-q);
else
fo<<suma(p,q)<<"\n";
}
fi.close();
fo.close();
return 0;
}