Cod sursa(job #3322360)

Utilizator iustin.dumiDumitrescu Iustin iustin.dumi Data 13 noiembrie 2025 17:26:23
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int aib[100005],i,j,n,x,sp[15005],c,a,b,y,z,m;
void aduna(int x, int val)
{for(int i=x;i<=n;i+=i&(-i))
     aib[i]+=val;
}
long long suma(int x)
{long long rez=0;
 for(int i=x;i>0;i-=i&(-i))
     rez+=aib[i];
 return rez;
}
int main()
{ fin>>n>>m;
  for(i=1;i<=n;i++)
      {fin>>x;
       sp[i]=sp[i-1]+x;
      }
  for(i=1;i<=m;i++)
  {fin>>c;
   if(c==0)
   {fin>>a>>b;
    aduna(a,b);
   }
   else
    {fin>>a>>b;
     y=suma(b)-suma(a-1);
     z=sp[b]-sp[a-1];
     fout<<z-y<<'\n';
    }
  }
    return 0;
}