Cod sursa(job #3134290)

Utilizator adistancu10Stancu Adrian adistancu10 Data 28 mai 2023 20:48:18
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int vec[15005];
int n, m , c, x, y;
int sum(int x)
{
    int s = 0;
    for (int i = x; i > 0; i -= (i & -i))
        s += vec[i];
    return x;
}

void adaug(int x, int val)
{
    for (int i = x; i <= n; i += (i & -i))
        vec[i] += val;
}

int main()
{
    fin >> n >> m;

    for (int i = 1; i <= n; i++)
    {
        fin >> x;
        adaug(i, x);
    }

    for (int i = 1; i <= m; i++)
    {
        fin >> c >> x >> y;
        if (c == 0) {
            adaug(x, -y);
        }
        else
            fout << (sum(y) - sum(x - 1)) << "\n";
    }
    return 0;
}