Cod sursa(job #1043259)

Utilizator Emanuel9Dumitru Emanuel Cristian Emanuel9 Data 28 noiembrie 2013 10:47:28
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

int a[15001],n,m;
int s(int);
void achita(int,int);
int main()
{
    freopen("datorii.in","r",stdin);
    freopen("datorii.out","w",stdout);

    int q,x,y;
    scanf("%d%d",&n,&m);
    int i;
    for(i=1;i<=n;i++){
        scanf("%d",&x);
        achita(i,x);
    }

    while(m){
        scanf("%d%d%d",&q,&x,&y);
        if(q==0) achita(x,-y);
        else
            printf("%d\n",s(y)-s(x-1));
        m--;
    }

    return 0;
}
int s(int x){
    int s=0;
    while(x){
        s=s+a[x];
        x-= x & -x;
    }
    return s;
}
void achita(int x,int val){
    while(x<=n){
        a[x]+=val;
        x+= x & -x;
    }
}