Cod sursa(job #2553639)

Utilizator Daniel237Jugariu Daniel Daniel237 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;
}