Pagini recente » Cod sursa (job #555944) | Cod sursa (job #249950) | Cod sursa (job #408073) | Cod sursa (job #2912199) | Cod sursa (job #540328)
Cod sursa(job #540328)
//DATORII
#include<fstream>
using namespace std;
#define zeros(x) ( (x ^ (x - 1)) & x )
int n, m, a[15001], cod, i, val, ind,j, st, dr, s1, s2,x;
void modificare(int poz,int val)
{
int j;
for(j=poz;j<=n;j+=zeros(j))
a[j]+=val;
}
int main()
{
ifstream f("datorii.in");
f>>n>>m;
for(i=1;i<=n;i++)
{
f>>x;
modificare(i,x);
}
ofstream g("datorii.out");
for(i=1;i<=m;i++)
{
f>>cod;
if(cod==0)
{
f>>ind>>val;
modificare(ind, val);
}
else
{
f>>st>>dr;
s1=0;
for(j=dr;j>0;j-=zeros(j))
s1+=a[j];
s2=0;
for(j=st-1;j>0;j-=zeros(j))
s2+=a[j];
g<<s1-s2<<"\n";
}
}
f.close();
g.close();
return 0;
}