Pagini recente » Cod sursa (job #2170089) | Cod sursa (job #2267211) | Cod sursa (job #3189750) | Cod sursa (job #3138145) | Cod sursa (job #2145836)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n, a[100005], sol[100005], maxim,nrmaxi;
struct node
{
int val;
node *left, *right;
}*root;
void add(int x, node *&root)
{
if (!root)
{
root=new node;
root->val=x;
root->left=0;
root->right=0;
return;
}
if (x<=root->val)
{
add(x,root->left);
}
else
add(x,root->right);
}
/*void in(node *root)
{
if (!root)
return;
in(root->left);
printf("%d ",root->val);
in(root->right);
}*/
void parcurgere(node *root,int nr)
{
if (!root)
{
if (nr>nrmaxi)
nrmaxi=nr;
return;
}
parcurgere(root->right,nr+1);
parcurgere(root->left,0);
}
int main()
{
f >> n;
root=0;
for (int i=0; i<n; i++)
{
f >> a[i];
add(a[i],root);
}
parcurgere(root,0);
g << nrmaxi;
return 0;
}