Cod sursa(job #2224145)

Utilizator tiberiu392Tiberiu Ungurianu tiberiu392 Data 23 iulie 2018 11:10:24
Problema Arbori indexati binar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.99 kb
#include <fstream>

using namespace std;
ifstream f("aib.in");
ofstream g("aib.out");
int n, m, v[100005], i, j, s, s1, caz, a , b, loc;
int main()
{
    f >> n >> m;
    for( i = 1 ; i <= n ; i++ )
        f >> v[i];
    while ( m-- )
    {
        f >> caz;
        if( caz == 0 )
        {
             f >> a >> b;
             v[a] = v[a]+b;
        }
        else
            if( caz == 1 )
        {
             f >> a >> b;
                s = 0;
             for ( int i = a ; i <= b ; i++ )
                {
                    s += v[i];
                }
                g << s << "\n";
        }
        else
            if( caz == 2 )
        {
            f >> a;
            s1 = 0;
            for( i = 1 ; i <= n && s1 <= a ; i++ )
            {
                    loc = i;
                    s1 += v[i];
                    if( s1 == a)
                        break;
            }
            g << loc << "\n";
        }
    }
    return 0;
}