Cod sursa(job #2581575)
Utilizator | Hantig Lorena LorenaMaria | Data | 15 martie 2020 14:58:12 |
---|---|---|---|
Problema | Datorii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m,v[15001];
void bani(int a,int i)
{ for(;i<=n;i+=i&-i)
v[i]+=a;
}
int suma(int x)
{ int s=0;
while(x)
s+=v[x],x&=x-1;
return s;
}
int main()
{ in>>n>>m;
for(int i=1;i<=n;i++)
{ int a;
in>>a;
bani(a,i);
}
for(int i=1;i<=m;i++)
{ bool c;
int x,y;
in>>c>>x>>y;
if(!c)
bani(-y,x);
else
out<<suma(y)-suma(x-1)<<'\n';
}
in.close();
out.close();
return 0;
}