Cod sursa(job #2761219)

Utilizator Vlad_CalomfirescuVlad calo Vlad_Calomfirescu Data 1 iulie 2021 10:14:24
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
#define NMAX 250000
#define pb push_back
#define sqmax 500
 
using namespace std;
 
ifstream f("datorii.in");
ofstream g("datorii.out");
int N,M;
int aib[15005];
void add(int poz,int val)
{
    for(int i=poz;i<=N;i+=i&(-i))
    {
        aib[i]+=val;
    }
}
int querry(int poz)
{
    int sol=0;
    for(int i=poz;i>0;i-=i&(-i))
    {
        sol+=aib[i];
    }
    return sol;
}
int main()
{
    f>>N>>M;
    for(int i=1;i<=N;i++)
    {
        int x;
        f>>x;
        add(i,x);
 
    }
    for(int i=1;i<=M;i++)
    {
        int tip;
        f>>tip;
        if(tip==0)
        {
            int x,y;
            f>>x>>y;
            add(x,-y);
 
        }
        else
        {
            int x,y;
            f>>x>>y;
            g<<querry(y)-querry(x-1)<<'\n';
        }
    }
 
 
 
}