Cod sursa(job #3163797)

Utilizator panterasbook29Turcu Stiolica Alexandru panterasbook29 Data 1 noiembrie 2023 10:10:43
Problema Arbori indexati binar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
#include <fstream>
using namespace std;

#define dim 100001

ifstream fin ("aib.in");
ofstream fout ("aib.out");

int n, m, T;
int S[dim];

int main()
{
    int K, x, y, h;

    S[0] = 0;

    fin>>n>>m;
    for ( int i = 1; i <= n; i++ )
    {
        fin>>h;
        S[i] = h + S[i-1];
    }

    for ( ; m; m-- )
    {
        fin>>K;

        if ( K < 2 )
        {
             fin>>x>>y;

             if ( K == 1 )
             {
                  fout<<S[y] - S[x-1];

                  continue;
             }

             for ( int i = x; i <= n; i++ )
                 S[i] += y;
        }
        else if ( K == 2 )
        {
             int ok = 0;
             fin>>x;

             int i;
             for ( i = 1; i <= n && !ok; i++ )
                 if ( S[i] == x ) ok = 1;

             if ( !ok ) fout<<"-1 \n";
             else       fout<<"i-1\n";
        }
    }
}