Cod sursa(job #2501412)

Utilizator VerestiucAndreiVerestiuc Andrei VerestiucAndrei Data 29 noiembrie 2019 17:58:01
Problema Arbori indexati binar Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.01 kb
#include <fstream>

using namespace std;
ifstream fin ("aib.in");
ofstream fout ("aib.out");
int n,m,c,i,j,a,b,x;
int s[100001];
long int sum;
int main()
{
    /*scanf("%d",n);
    scanf("%d",m);
    fout<<n<<' '<<m<<'\n';*/
    fin>>n>>m;
    for (i=1; i<=n; i++)
    {
        //scanf("%d",x);
        fin>>x;
        s[i]=s[i-1]+x;
        //fout<<s[i]<<' ';
    }
    //fout<<'\n';
    for (i=1; i<=m; i++)
    {
        /*scanf("%d",c);
        scanf("%d",a);*/
        fin>>c>>a;
        if (c<2)
            //scanf("%d",b);
            fin>>b;
        if (c==0)
        {
            for (j=a; j<=n; j++)
                s[j]+=b;
        }
        else
            if (c==1)
        {
            fout<<s[b]-s[a-1]<<'\n';
        }
        else
        {
            j=1;
            for (j=1; s[j]<a; j++);
            if (s[j]==a)
                fout<<j<<'\n';
                else
                    fout<<-1<<'\n';
        }
    }
    fout.close();
    return 0;
}