Cod sursa(job #2224145)
| Utilizator | 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;
}
