Упорядкуй коней
Обмеження: 2 сек., 256 МіБ
У Зеника з Марічкою є \(n\) жеребців, пронумерованих від \(1\) до \(n\), яких вони тримають у стайні. У стайні є \(n\) стійл, розташованих у ряд, також пронумерованих від \(1\) до \(n\). Кінь з номером \(i\) має своє стійло з тим самим номером \(i\).
Одного разу Марічка після важкого робочого дня на фермі заводила коней до стайні, та бідолашна переплутала порядок коней. У стійло \(i\) вона поставила коня з номером \(p_i\).
Зеник зауважив, що щось у стайні не так. Він хоче переставити коней на свої місця.
Вам задано число \(k\).
Зеник спершу розділить коней в стайні на \(k\) проміжків. Кожен проміжок містить коней, що стоять у стійлах з номерами від \(l\) до \(r\), тобто коней з номерами \(p_l, p_{l+1}, \dots, p_r\), де \(1 \le l \le r \le n\). Кожен кінь входитиме рівно до одного проміжку. Після цього Зеник зможе переставляти проміжки між собою як завгодно.
Скажіть, чи зможе Зеник переставити коней у правильному порядку, тобто \(1, 2, \dots, n\)?
Вхідні дані
У першому рядку задано два цілі числа \(n\) і \(k\) — кількість коней у стайні і кількість проміжків, на які їх можна розділити.
У другому рядку задано \(n\) цілих чисел \(p_i\) — номер коня, що стоїть у стійлі з номером \(i\).
Вихідні дані
В одному рядку виведіть Yes
, якщо Зеник може переставити
коней у правильному порядку, або No
, якщо не може.
Обмеження
\(1 \le k \le n \le 3 \cdot 10^5\),
\(1 \le p_i \le n\),
усі \(p_i\) різні.
Оцінювання складається з таких блоків:
по 1 балу за кожен приклад з умови,
10 балів: \(k = 1\),
15 балів: \(k = 2, n \le 200\),
20 балів: \(k = 2\),
30 балів: \(n \le 200\),
23 бали: без додаткових обмежень.
Бали за блок ви отримаєте, тільки якщо ваша програма пройде всі тести з блоку.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
7 4 5 6 4 1 2 3 7 | Yes |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
7 3 5 6 4 1 2 3 7 | No |
Примітки
Нехай коні стоять у стайні в порядку \((5, 6, 4, 1, 2, 3, 7)\). Їх можна поділити на чотири проміжки \((5, 6), (4), (1, 2, 3), (7)\), та переставити ці проміжки місцями: \((1, 2, 3), (4), (5, 6), (7)\). Тоді коні стоятимуть у правильному порядку.
Однак не вийде поділити коней на три проміжки, щоб правильно їх переставити.
Надіслати розв'язок
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|