АВТ
Language: Russian
English

Remote Training on Programming

Problems Online status Contests
News FAQ E-learning
For authors:
Register  ||  Login
 
Hello, Guest! Please login or register.

1946. Tree's Depth

Time Limit: 1 seconds
Memory Limit:262144KB
Points:100
View Problem Statistics Submit Problem added debug

Одним из способов представления множества в памяти машины является двоичное (бинарное) дерево поиска. Каждый узел данного дерева может иметь не более двух детей (левого и правого сына). Для любого узла r выполняется следующее свойство: ключи во всех узлах левого поддерева r меньше, чем ключ в узле r, а ключи в узлах правого поддерева – больше, чем в r.

Вставка нового элемента x в дерево начинается с корневого узла. Сравним x с ключом в корне. Если они равны, то делать ничего не надо – вставка закончена. Если x меньше ключа в корне, то идём в левое поддерево, если больше – в правое. Продолжаем делать так до тех пор, пока идти станет больше некуда – в этом случае создаём новый листовой узел.

На рисунке показано дерево, полученное из пустого дерева после вставки элементов 8, 5, 7, 11, 9, 3, 6.

Высотой дерева называется длина максимального пути от корня до листа. Например, для дерева на рисунке высота равна 3, так как путь от от корня до листа с ключом 6 имеет длину 3.

Вам дана последовательность элементов, которые поочерёдно вставлялись в изначально пустое дерево. Требуется найти его высоту.

Входные данные

В первой строке входных данных записано целое число N (1 ≤ N ≤ 1000) – количество элементов. В следующей строке через пробел записаны N целых чисел – вставляемые элементы (все элементы не превышают по модулю 109).

Выходные данные

Выведите одно целое число – высоту дерева.

Примеры

Входные данные
7
8 5 7 11 9 3 6
Выходные данные
3
Входные данные
3
5 5 5
Выходные данные
0

View Problem Statistics Submit Problem discussion Author/source:
Educational Courses / Algorithms and Data Structures / Data Structures /
1947. Tree by levels 1946. 243. Trees 251. КЛП->ЛКП 252. ЛКП->КЛП
Educational Courses / C++ Programming Language / Data Structures and Using of Pointers /
1946. 1947. 2 - Tree by levels 253. 3 - Луч
time generating 0.109 sec.
© Copyright VSU, AVT, Nosov D.A., Andrianov I.A.