Cod sursa(job #2414813)

Utilizator Hey_HeyIacovlev Denis Hey_Hey Data 25 aprilie 2019 09:21:05
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
 
using namespace std;
 
ifstream fi("datorii.in");
ofstream fo("datorii.out");
 
 
int N,S[15010];
int M,i,q,x,a,b;
 
void add(int a,int b)
{
    int k;
    for(k=a;k<=N;k+=(k&(-k))) S[k]+=b;
}
 
int total(int a)
{
    int k,suma=0;
    for(k=a;k>=1;k-=(k&(-k))) suma+=S[k];
    return suma;
}
 

 
int main()
{
    fi >> N >> M;
    for(i=1;i<=N;i++)
    {
        fi >> x;
        add(i,x);
    }
    
    for(i=1;i<=M;i++)
    {
        fi >> q >> a >> b;
        
        if(q) fo << total(b)-total(a-1) << '\n';
        else add(a,-b);
        
    }   
}