Cod sursa(job #866893)
Utilizator | Data | 28 ianuarie 2013 21:11:46 | |
---|---|---|---|
Problema | Datorii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include<fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int a[15001],m,n,x,i,y,t;
void adn(){ int p=i; for(;p<=n;p+=((p^(p-1))&p)) a[p]+=x; }
int subs(int st){ int s=0,p=st; for(;p>0;p-=((p^(p-1))&p)) s+=a[p]; return s; }
int main()
{
f>>n>>m;
for(i=1;i<=n;++i) {f>>x; adn();}
for(i=1;i<=m;++i)
{
f>>t>>y>>x;
if(t==0)
{x=-x; adn();}
else
g<<(subs(x)-subs(y-1))<<'\n';
}
return 0;
}