Cod sursa(job #1042775)

Utilizator LaviniastarLaaaaaa Sttttttt Laviniastar Data 27 noiembrie 2013 17:49:52
Problema Datorii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
using namespace std;

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

int a[15005],n,m;

int s(int x)
{
    int s(0);
    while (x)
	{
        s=s+a[x];
        x-=x&-x;
    }

    return s;
}

void achitare(int x, int val)
{
    while (x<=n)
	{
        a[x]=a[x]+val;
        x+=x&-x;
    }
}
int main()
{
    int q,x,y;
    int i;

    f>>n>>m;
    for(i=1;i<=n;i++)
	{
        f>>x;
        achitare(i,x);
    }

    while (m--)
	{

        f>>q>>x>>y;
        if (q==0)
            achitare(x,-y);
        else
            g<<s(y)-s(x-1)<<"\n";
    }

    f.close();
    g.close();

    return 0;
}