Cod sursa(job #2778960)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 2 octombrie 2021 14:00:18
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;
int n,m,c,x,y,i,j,s,t[15001];
ifstream f("datorii.in");
ofstream o("datorii.out");
int main()
{
    for(f>>n>>m,i=1;i<=n;++i)
        for(f>>x,j=i;j<=n;j+=(j&-j))
            t[j]+=x;
    for(i=1;i<=m;++i) {
        f>>c>>x>>y;
        if(c) {
            for(s=0,j=y;j;j-=(j&-j))
                s+=t[j];
            for(j=x-1;j;j-=(j&-j))
                s-=t[j];
            o<<s<<"\n";
        } else
            for(j=x;j<=n;j+=(j&-j))
                t[j]-=y;
    }
    return 0;
}