Cod sursa(job #1807573)
| Utilizator | Data | 16 noiembrie 2016 18:33:02 | |
|---|---|---|---|
| Problema | Datorii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<fstream>
using namespace std;
ifstream cin("datorie.in");
ofstream cout("datorii.out");
int a[15100], n, m, o, p, q;
int sum(int inc, int sf){
if(inc==sf) return a[inc];
else if(inc==sf-1) return a[inc]+a[sf];
else{
int mid=(inc+sf)/2;
return sum(inc, mid)+sum(mid+1, sf);
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1; i<=m; i++){
cin>>o>>p>>q;
if(o==0) a[p]-=q;
else if(o==1) cout<<sum(p,q)<<"\n";
}
return 0;
}
