Pagini recente » Cod sursa (job #2818918) | Cod sursa (job #2836456) | Cod sursa (job #1481337) | Cod sursa (job #1293149) | Cod sursa (job #1257792)
#include <fstream>
using namespace std;
ifstream is ("datorii.in");
ofstream os ("datorii.out");
int n, m, aib[15001];
void Update(int poz, int val);
int Query(int poz);
int main()
{
is >> n >> m;
int v;
for(int i = 1; i <= n; ++i)
{
is >> v;
Update(i, -v);
}
int q, a, b;
for(int i = 1; i <= m; ++i)
{
is >> q;
if(q)
{
is >> a >> b;
os << Query(b) - Query(a-1) << '\n';
}
else
{
is >> a >> b;
Update(a, b);
}
}
is.close();
os.close();
return 0;
}
void Update(int poz, int v)
{
for(int i = poz; i <= n; i += i & -i)
aib[i] -= v;
}
int Query(int poz)
{
int s = 0;
for(int i = poz; i; i -= i & -i)
s += aib[i];
return s;
}