Cod sursa(job #2680100)

Utilizator Turica_Andrei_CosminTurica Andrei Turica_Andrei_Cosmin Data 2 decembrie 2020 17:26:34
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <fstream>
using namespace std;


ifstream in(fisier "datorii.in");

ofstream out(fisier "datorii.out");

int V[20002];

int S(int i) {return i? V[i] + S(i^i&-i): 0;}

int main()

{

    int n, m; in >> n >> m;

    for (int i = 1; i <= n; i++)

        {int e; in >> e; V[i+(i&-i)] += V[i] += e;}

    while (m--)

    {

        bool v; int a, b; in >> v >> a >> b;

        if (v) out << S(b) - S(a-1) << '\n';

        else for (; a <= n; a += a&-a) V[a] -= b;

    }

}