Pagini recente » Cod sursa (job #1419489) | Cod sursa (job #1872029) | Cod sursa (job #836216) | Cod sursa (job #1729966) | Cod sursa (job #2875259)
#include <fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out ("datorii.out");
int aib[15005];
void update (int poz, int n, int x)
{
for(int i = poz; i <= n; i += (i&(-i)))
aib[i] += x;
}
int sum (int p)
{
int ans = 0;
for(int i = p; i >= 1; i -= (i&(-i)))
ans += aib[i];
return ans;
}
int main()
{
int n, x, m;
in >> n >> m;
for(int i = 1; i <= n; i ++)
{
in >> x;
update(i, n, x);
}
for(int i = 1; i <= m; i ++)
{
int c, a, b;
in >> c >> a >> b;
if(c == 0)
{
update(a, n, -b);
}
else
out << sum(b) - sum(a - 1) << '\n';
}
return 0;
}