Pagini recente » Cod sursa (job #2883629) | Cod sursa (job #2293031) | Cod sursa (job #2217542) | Cod sursa (job #1688065) | Cod sursa (job #1822294)
#include <fstream>
#define zeros(t) (t ^ (t-1)) & t
using namespace std;
ifstream ka("datorii.in");
ofstream ki("datorii.out");
const int N_MAX = 15000;
int aib[N_MAX + 1];
int n, m, x, y, c;
void modifica(int x, int val)
{
for(int i = x; i <= n; i += zeros(i))
aib[i] += val;
}
int cauta(int a)
{
int sum = 0;
for(int i = a; i > 0; i -= zeros(i))
sum += aib[i];
return sum;
}
int main()
{
ka >> n >> m;
for(int i = 1; i <= n; i++)
{
ka >> x;
modifica(i, x);
}
for(int i = 1; i <= m; i++)
{
ka >> c >> x >> y;
if(c == 0)
modifica(x, -y);
else
{
ki << cauta(y) - cauta(x - 1) << '\n';
}
}
}