Cod sursa(job #228384)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 7 decembrie 2008 00:21:51
Problema Arbori indexati binar Scor 30
Compilator c Status done
Runda Arhiva educationala Marime 1.02 kb
#include <stdio.h>

int V[100110];
int N,M,i,j,s,ok,a,b,x,poz;

int main()
{
    freopen("aib.in","r",stdin);
    freopen("aib.out","w",stdout); 
    scanf("%d %d", &N,&M);
    for (i=1;i<=N;++i)
          scanf("%d", V+i);
    for (j=1;j<=M;++j)
    {
        scanf("%d %d", &x,&a);
        if (x==0)
            {
                scanf("%d",&b);
                V[a]=b+V[a];
        }
        else
        if (x==1)
        { 
            scanf("%d",&b);
            s=0;
            for (i=a;i<=b;++i)
                  s+=V[i];
            printf("%d\n", s);
        }
        else
        if (x==2)
        {
            s=0;
            poz=0;
            for (i=1;i<=N;++i)
                 {
                        s+=V[i];
                        if (s==a)
                            poz=i;
                        
                    }
             if (poz!=0) printf("%d\n",poz);
                else printf("-1\n");
         }
    }
return 0;
}