Pagini recente » Cod sursa (job #810126) | Cod sursa (job #2505339) | Cod sursa (job #1885577) | Cod sursa (job #2638209) | Cod sursa (job #1508517)
#include <fstream>
using namespace std;
ifstream f("datorii.in"); ofstream g("datorii.out");
int n, nr, AIB[15010];
int Zero(int x)
{
return (-x)&x;
}
void Update(int poz, int val)
{
for(; poz<=n; poz+=Zero(poz)) AIB[poz]+=val;
}
int Calc(int poz)
{
int s=0;
for(; poz; poz-=Zero(poz)) s+=AIB[poz];
return s;
}
int main()
{
f>>n>>nr;
for(int v, i=1; i<=n; i++)
{
f>>v; Update(i, v);
}
int t, a, b;
while(nr--)
{
f>>t>>a>>b;
if(t) g<<Calc(b)-Calc(a-1)<<'\n'; else Update(a, -b);
}
return 0;
}