Cod sursa(job #3037677)

Utilizator akashtwoGurita Eduard Adrian akashtwo Data 26 martie 2023 09:23:51
Problema Arbori indexati binar Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.12 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("aib.in");
ofstream fout("aib.out");
int a,b,t,n,m,v[100005],k,s;
int main()
{
    fin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
    }
    for(int i=1;i<=m;i++)
    {
        fin>>t;
        if(t==0)
        {
            fin>>a>>b;
            v[a]=v[a]+b;
        }
        else if(t==1)
        {
            fin>>a>>b;
            s=0;
            for(int i=a;i<=b;i++)
            {
                s=s+v[i];
            }
            fout<<s<<'\n';
        }
        else
        {
            fin>>a;
            s=0;
            k=0;
            while(k<=n)
            {
                if(s==a)
                {
                    fout<<k<<'\n';
                    break;
                }
                s=s+v[k];
                k++;
                if(s==a)
                {
                    fout<<k-1<<'\n';
                    break;
                }
            }
            if(s!=a){fout<<-1<<'\n';}
        }
    }
    fin.close();
    fout.close();
    return 0;
}