NKTREE - Cây nhị phân tìm kiếm

Tác giả: hieult

Ngôn ngữ: C++

#include <stdio.h>
//#include <conio.h>
main()
{
long n,a[50001];
n=0;
while(scanf("%ld",&a[++n])>0);
--n;
int t=1;
long min=a[n];
long max=a[n];
for(long i=n-1;i>=1;i--)
  {
  if(a[i]<a[i+1]&&a[i]>min)
    {
    t=0;
    break;
    }
  else if(a[i]>a[i+1]&&a[i]<max)
    {
    t=0;
    break;
    }
  else
    {
    if(a[i]<min)
      min=a[i];
    else if(a[i]>max)
      max=a[i];
    }
  }
if(t==1)
  printf("YES");
else 
  printf("NO");
//getch();
}              

Download