Cod sursa(job #2553639)
| Utilizator | Data | 22 februarie 2020 10:44:07 | |
|---|---|---|---|
| Problema | Datorii | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <bits/stdc++.h>
#define zero(x) ((-x)&x)
using namespace std;
ifstream f("a.in");
ofstream g("a.out");
int n,m,v[15005];
void plata(int zi,int val)
{
for(;zi<=n;zi+=zero(zi))
v[zi]+=val;
}
int inter(int poz)
{
int s=0;
for(;poz;poz-=zero(poz))
s+=v[poz];
return s;
}
int main()
{
f>>n>>m;
for(int i=1;i<=n;i++)
{
int x;
f>>x;
plata(i,x);
}
for(int j=1;j<=m;j++)
{
int cer,x,y;
f>>cer>>x>>y;
if(!cer)plata(x,-y);
else g<<inter(y) <<'\n';
}
return 0;
}
