Cod sursa(job #1626930)

Utilizator stefy555Stefan stefy555 Data 3 martie 2016 12:51:08
Problema Arbori indexati binar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
#include <iostream>
#include <cstdio>
using namespace std;
FILE* f=fopen("aib.in","r");
FILE* g=fopen("aib.out","w");
int n,m,a[100001],t,x,y;
int main()
{
    fscanf(f,"%d%d",&n,&m);
    for(int i=0; i<n; i++)
        fscanf(f,"%d",&a[i]);
    for(int i=0; i<m; i++)
    {
        fscanf(f,"%d",&t);
        switch(t)
        {
        case 0:
        {
            fscanf(f,"%d%d",&x,&y);
            a[x]+=y;
            break;
        }
        case 1:
        {
            int s=0;
            fscanf(f,"%d%d",&x,&y);
            for(int i=x-1; i<=y-1; i++)
                s+=a[i];
            fprintf(g,"%d\n",s);
            break;
        }
        case 2:
        {

            fscanf(f,"%d",&x);
            int i=0;
            int s=0;
            while(s<x)
            {
                s+=a[i];
                i++;
            }
            if(s==x)
                fprintf(g,"%d\n",i);
            break;
        }

        }
    }
    return 0;
}