Cod sursa(job #2713526)

Utilizator JackstilAdascalitei Alexandru Jackstil Data 28 februarie 2021 10:48:51
Problema Arbori indexati binar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

int n, m, q, a, b, v[100001];

int sum(int x, int y, int z[ ]) {
    int res = 0;
    while (x <= y) {
        res += z[x];
        ++x;
    }
    return res;
}

int main() {
    in >> n >> m;
    for (int i = 1; i <= n; ++i)
        in >> v[i];
    while (m--) {
        in >> q >> a;
        if (q != 2)
            in >> b;

        if (q == 0)
            v[a] += b;
        else if (q == 1)
            out << sum(a, b, v) << '\n';
        else
            for (int k = 1; k <= n; ++k)
                if (sum(1, k, v) == a) {
                    out << k << '\n';
                    break;
                }
    }
    return 0;
}