Pagini recente » Cod sursa (job #2192548) | Cod sursa (job #2684724) | Cod sursa (job #2550589) | Cod sursa (job #1548147) | Cod sursa (job #2852904)
#include <bits/stdc++.h>
using namespace std;
struct arbore
{
int st,dr,val;
arbore *vf,*f1,*f2;
}*VF;
int n;
arbore *gen(int s,int d,arbore *va)
{
if(s==d)
{
arbore *nou=new arbore;
nou->st=nou->dr=s;
nou->f1=nou->f2=NULL;
nou->vf=va;
cin>>nou->val;
return nou;
}
arbore *nou=new arbore;
nou->vf=va;
nou->st=s;
nou->dr=d;
int m=(s+d)/2;
nou->f1=gen(s,m,nou);
nou->f2=gen(m+1,d,nou);
nou->val=max(nou->f1->val,nou->f2->val);
return nou;
}
void creare()
{
VF=new arbore;
VF->st=1;
VF->dr=n;
VF->vf=NULL;
int s=1,d=n,m=(s+d)/2;
VF->f1=gen(1,m,VF);
VF->f2=gen(m+1,d,VF);
VF->val=max(VF->f1->val,VF->f2->val);
}
int main()
{
cin>>n;
creare();
}