Cod sursa(job #1508945)

Utilizator arvlgeArdeleanu Vlad George arvlge 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;
}