Pagini recente » Cod sursa (job #1984929) | Cod sursa (job #1194458) | Cod sursa (job #484982) | Cod sursa (job #3130284) | Cod sursa (job #1242533)
#include<fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
const int nmax = 15000;
long long n, m, aib[nmax], chestie, a, b;
long long zeros(long long x)
{
return (x ^ (x - 1)) & x;
}
void add(int x, long long val)
{
for(int i = x; i<=n; i+=zeros(i))
aib[i] += val;
}
long long calc(long long x)
{
long long p = 0;
for(int i = x; i>0; i-=zeros(i))
p += aib[i];
return p;
}
int main(){
int player_unu=0;
in>>n>>m;
for(int i = 1; i<=n; i++)
{
in>>chestie;
add(i, chestie);
}
for(int i = 0; i<m; i++)
{
in>>chestie>>a>>b;
if(chestie==0)
{
add(a, -b);
}
else
{
out<<calc(b) - calc(a - 1)<<'\n';
}
}
return player_unu;
}