Pagini recente » Cod sursa (job #3273636) | Cod sursa (job #2211584) | Cod sursa (job #687378) | Cod sursa (job #3278573) | Cod sursa (job #2475276)
#include <fstream>
#define NM 15003
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int s,n,m,i,j,a,b,x,t;
int v[NM];
int pas (int x) { return (x&(0-x)); }
void add(int poz,int val){
while(poz<=n){
v[poz]+=val; poz+=pas(poz);
}
}
int suma(int poz){
s=0;
while(poz>=1) { s+=v[poz]; poz-=pas(poz); }
return s;
}
int main()
{
f>>n>>m;
for(i=1;i<=n;i++) { f>>x; add(i,x); }
for(i=1;i<=m;i++){
f>>t>>a>>b;
if(t==0) add(a,0-b);
else g<<suma(b)-suma(a-1)<<'\n';
}
return 0;
}