Cod sursa(job #1004772)

Utilizator paul_danutDandelion paul_danut Data 3 octombrie 2013 17:21:26
Problema Arbori de intervale Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream f("arbint.in");
ofstream g("arbint.out");

int v[100001],n,m,a,b,ct,i;
int search(int st,int dr)
{
    if(st==dr)
       return v[st];
    else
       {int mij=(st+dr)/2;
       return max(search(st,mij),search(mij+1,dr));}
}
int main()
{
    f>>n>>m;
    for(i=1;i<=n;i++)
        f>>v[i];
    for(i=1;i<=m;i++)
       {f>>ct;
       if(ct==0)
          {f>>a>>b;
          g<<search(a,b)<<'\n';}
       if(ct==1)
          {f>>a>>b;
          v[a]=b;}}
     f.close();
     g.close();
     return 0;
}