Олимпиадный тренинг

Задача . B. Moamen и k-подотрезки


У Moamen есть массив из \(n\) различных целых чисел. Он хочет отсортировать его в неубывающем порядке, проделав следующую операцию ровно один раз:

  1. Разделить массив на ровно \(k\) непустых подотрезка таких, что каждый элемент принадлежит ровно одному подотрезку.
  2. Переупорядочить эти подотрезки произвольным образом.
  3. Объединить подотрезки в один массив.

Последовательность \(a\) является подотрезком \(b\), если \(a\) может быть получена из \(b\) удалением нескольких (возможно, ни одного или всех) элементов из начала и нескольких (возможно, ни одного или всех) элементов из конца.

Помогите Moamen понять, существует ли способ отсортировать массив в неубывающем порядке, применив эту операцию ровно один раз?

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

Первая строка ввода содержит одно целое число \(t\) (\(1 \le t \le 10^3\)) — количество наборов входных данных. Далее следует описание этих наборов.

Первая строка каждого набора содержит два целых числа \(n\) и \(k\) (\(1 \le k \le n \le 10^5\)).

Вторая строка каждого набора содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(0 \le |a_i| \le 10^9\)). Гарантируется, что все числа в массиве различны.

Гарантируется, что сумма \(n\) по всем наборам входных данных не превосходит \(3\cdot10^5\).

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

Для каждого набора входных данных выведите одну строку.

Если Moamen может отсортировать массив в неубывающем порядке, выведите «YES» (без кавычек). В противном случае выведите «NO» (без кавычек).

Вы можете выводить каждую букву «YES» и «NO» в любом регистре (верхнем или нижнем).

Примечание

В первом наборе входных данных \(a = [6, 3, 4, 2, 1]\), и \(k = 4\). Мы можем применить операцию следующим образом:

  1. Разбить \(a\) на \(\{ [6], [3, 4], [2], [1] \}\).
  2. Переупорядочить их: \(\{ [1], [2], [3,4], [6] \}\).
  3. Объединить их: \([1, 2, 3, 4, 6]\), получив отсортированный массив.

Во втором примере не существует способа отсортировать массив, разбив его всего на два \(2\) подотрезка.

Например, если мы разобьем массив на подотрезки как \(\{ [1, -4], [0, -2] \}\), мы можем переупорядочить их только как \(\{ [1, -4], [0, -2] \}\) или \(\{ [0, -2], [1, -4] \}\). В обоих случаях массив не будет отсортирован после объединения.


Примеры
Входные данныеВыходные данные
1 3
5 4
6 3 4 2 1
4 2
1 -4 0 -2
5 1
1 2 3 4 5
Yes
No
Yes

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя