Pagini recente » Cod sursa (job #3338842) | Cod sursa (job #1283252) | Cod sursa (job #2726871) | Cod sursa (job #2268457) | Cod sursa (job #1449015)
#include<fstream>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m,AIB[15003];
inline int zero(int x)
{
return x & (-x);
}
void update(int poz, int val)
{
for(; poz<=n; poz += zero(poz))
AIB[poz] += val;
}
int query(int poz)
{
int s=0;
for(; poz; poz -= zero(poz))
s += AIB[poz];
return s;
}
int main()
{
in >> n >> m;
for(int x, i=1; i<=n; i++)
{
in >> x;
update (i, x);
}
int t,a,b;
while(m--)
{
in>>t>>a>>b;
if(t) out << query(b) - query(a-1) << '\n';
else update(a, -b);
}
out.close();
return 0;
}