Cod sursa(job #3133818)

Utilizator johnutddDobrin Ionut johnutdd Data 27 mai 2023 00:25:46
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>

using namespace std;

ifstream f("datorii.in");
ofstream g("datorii.out");

void init(int x, int y, int v[15001], int n)
{
    for (int i = x; i <= n; i += i & (-i))
        v[i] += y;
}

int rez(int x, int v[15001])
{
    int s = 0;
    for (int i = x; i >= 1; i -= i & (-i))
        s += v[i];
    return s;
}

int main()
{   
    int n, m, v[15001], x, a, b, i;
    bool k;
    f >> n >> m;
    for (i = 1; i <= n; i++)
    {
        f >> x;
        init(i, x, v, n);
    }
    for (i = 0; i < m; i++)
    {
        f >> k >> a >> b;
        if (k == 0) 
            init(a, -b, v, n);
        else 
            g << rez(b, v) - rez(a - 1, v) << '\n';
    }
    return 0;
}