Cod sursa(job #3134119)

Utilizator opreaopreacalin@gmail.comCalin Oprea [email protected] Data 28 mai 2023 15:36:24
Problema Datorii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<stdio.h>
#include <fstream>
using namespace std;

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

int n,i,x,y,z;
long v[15001],r[15001],j,m,sum1,sum2;

int main()
{
    in>>n>>m;
    v[0]=0;
    for(i=1;i<=n;i++)
    {
        in >> v[i];
        v[i]+=v[i-1];
        j=i-(i&(-i));
        r[i]=v[i]-v[j];}
    for(j=1;j<=m;j++)
    {
        in>>x>>y>>z;
        if(x==0)
        {
            while(y<=n)
            {
                r[y]-=z;
                y+=(y&(-y));}}
        else
        {
            sum1=sum2=0;
            while(z>0)
            {
                sum1+=r[z];
                z-=(z&(-z));}
                y--;
            while(y>0)
            {
                sum2+=r[y];
                y-=(y&(-y));}
                out<<sum1-sum2<< " ";
            }
    }

    return 0;
}