Cod sursa(job #3309574)

Utilizator anca.gdDumitru Anca Gabriela anca.gd Data 6 septembrie 2025 15:05:17
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int aib[15005], n, q, tip, a, b;
int sum(int a, int b){
    if(a!=1)
        return sum(1,b)-sum(1, a-1);
    int ans=0;
    while(b){
        ans+=aib[b];
        b-=b&(-b);
    }
    return ans;
}
void update(int a, int val){
    while(a<=n){
        aib[a]+=val;
        a+=a&(-a);
    }
}
int main()
{
    cin>>n>>q;
    for(int i=1; i<=n;i++){
        cin>>a;
        update(i, a);
    }
    while(q--){
        cin>>tip>>a>>b;
        if(tip==0)
            update(a, -b);
        else cout<<sum(a,b)<<'\n';
    }
    return 0;
}