Cod sursa(job #2224147)

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

using namespace std;
ifstream f("aib.in");
ofstream g("aib.out");
int n, m, v[100010], i, j, s, s1, caz, a , b, loc;


void caz0()
{
     f >> a >> b;
    v[a] = v[a]+b;
}

void caz1()
{
    f >> a >> b;
    s = 0;
    for ( int i = a ; i <= b ; i++ )
    {
        s += v[i];
    }
    g << s << "\n";

}

void caz2()
{
    f >> a;
    s1 = 0;
    for( i = 1 ; i <= n ; i++ )
    {
        loc = i;
        s1 += v[i];
        if( s1 == a)
            break;
        else
            continue;
    }
    g << loc << "\n";
}
void solve()
{
    f >> n >> m;
    for( i = 1 ; i <= n ; i++ )
        f >> v[i];
    while ( m-- )
    {
        f >> caz;
        if( caz == 0)
        caz0();
        else
        if( caz == 1 )
        caz1();
        else
        if( caz == 2 )
        caz2();
    }
}

int main()
{
        solve();
    return 0;
}