Cod sursa(job #1508945)
| Utilizator | Data | 23 octombrie 2015 10:50:46 | |
|---|---|---|---|
| Problema | Datorii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.99 kb |
#include<fstream>
using namespace std;
int main(){
ifstream in ("datorii.in");
int si,num;
in>>si;
in>>num;
int a[num];
for(int i=1;i<=si;i++)
in>>a[i];
int op,l1,l2,p,s1,s2;
for(int i=1;i<=num;i++){
in>>op;in>>l1;in>>l2;
if(op==0){
while(l1<=si){
a[l1]-=l2;
l1+=(l1^(l1-1))&l1;
}
}
else{
l1--;s1=0;
while(l1>0){
s1+=a[l1];
l1-=(l1^(l1-1))&l1;
}
s2=0;
while(l2>0){
s2+=a[l2];
l2-=(l2^(l2-1))&l2;
}
ofstream out("datorii.out",ios::app);
out<<s2-s1<<endl;
out.close();
}
}
in.close();
return 0;
}
