eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Дерево

Дерево

Однією з широко відомих структур даних для представлення множин є двійкове дерево пошуку. Кожен вузол v такого дерева містить один елемент мноини, при цьому всі елементи у лівому піддереві v повинні бути менші елемента в v, а елементи у правому піддереві v повинні бути більші элемента в v. Приклад двійкового дерева пошуку показано на рисунку. Вузол називається коренем, якщо у нього немає предка (вузол 5 на рисунку). Вузол називається листком, якщо у нього немає потомків (вузли 2, 4 і 8 на рисунку). Шляхом у дереві назвемо послідовність номерів вузлів, таких що кожен наступний вузол є безпосереднім потомком попереднього.

prb468

Вам дано послідовність цілих чисел, які не повторююються. Потрібно визначити, чи існує таке двійкове дерево пошуку, у якому ця послідовність є шляхом від кореня до якогось листка. Наприклад, дерево пошуку зі шляхом 5-1-3-2 існує, а зі шляхом 5-2-3-1 ні.

Вхідні дані

Задано послідовність чисел, відокремлениех пропускаи і/або переведеннями рядка. До першого і після останнього числа можуть бути пропуски і переведення рядка. Всі числа різні. Кількість чисел від 1 до 50 000. Значення чисел від -2 147 483 648 до 2 147 483 647 включно.

Вихідні дані

Виведіть слово "YES", якщо дерево, що відповідає заданому шляху, існує, і "NO" у протилежному випадку.

Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
5 1 3 2
Вихідні дані #1
YES
Вхідні дані #2
5 2 3 1
Вихідні дані #2
NO