Cod sursa(job #3256388)

Utilizator Gabriel_DaescuDaescu Gabriel Florin Gabriel_Daescu Data 14 noiembrie 2024 13:32:38
Problema Arbori indexati binar Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.05 kb
#include <fstream>
#define NMAX 100002
using namespace std;
ifstream  fin("aib.in");
ofstream fout("aib.out");
int N,M,v[NMAX];
long long s;

void citire()
{
    fin>>N>>M;

    for(int i=1; i<=N; i++)
    {
        fin>>v[i];
    }
}

int main()
{
    int poz,op,a,b;
    long long sum;
    citire();

    for(int i=1; i<=M; i++)
    {
        fin>>op;

        if(op==0)
        {
            fin>>a>>b;
            v[a]+=b;
        }

        if(op==1)
        {
            fin>>a>>b;
            s=0;
            for(int j=a; j<=b; j++)
            {
                s+=v[j];
            }

            fout<< s << "\n";
        }

        if(op==2)
        {
            fin>>s;
            poz=-1;
            sum=0;

            for(int j=1; j<=N && sum<=s; j++)
            {
                sum+=v[j];
                if(sum==s)
                {
                    poz=j;
                    break;
                }
            }

            fout<< poz << "\n";
        }
    }

    return 0;
}