Hello 2025 |
---|
Закончено |
Из-за нехватки преподавателей в самой высокой параллели «Т-поколения» было принято решение поставить огромного самца гориллы принимать зачет у школьников. Но не все так просто, для того чтобы доказать свою компетентность, ему нужно решить следующую задачу.
Для массива $$$b$$$ определим функцию $$$f(b)$$$ как минимальное количество следующих операций, чтобы сделать массив $$$b$$$ пустым:
Дан массив $$$a$$$ длины $$$n$$$ и целое число $$$k$$$. Вы можете не более $$$k$$$ раз выбрать любой индекс $$$i$$$ ($$$1 \le i \le n$$$) и произвольное число $$$p$$$, и заменить $$$a_i$$$ на $$$p$$$.
Помогите горилле и определите, какое минимальное значение $$$f(a)$$$ можно получить после таких замен.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 10^5$$$, $$$0 \le k \le n$$$) — длина массива $$$a$$$ и максимальное число изменений соответственно.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — сам массив $$$a$$$.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$10^5$$$.
Для каждого набора входных данных в отдельной строке выведите одно целое число — минимальное значение $$$f(a)$$$.
61 0488433 12 3 25 31 2 3 4 57 04 7 1 3 2 4 111 43 2 1 4 4 3 4 2 1 3 35 51 2 3 4 5
1 1 2 5 2 1
В первом наборе входных данных $$$f([48\,843]) = 1$$$, так как массив состоит из одного числа, а значит, можно его удалить за одну операцию.
Во втором наборе входных данных можно изменить второе число на $$$2$$$, получив массив $$$[2, 2, 2]$$$, $$$f([2, 2, 2]) = 1$$$, так как можно взять в качестве подотрезка весь массив, минимум на нем равен $$$2$$$, поэтому мы удалим все числа $$$2$$$ из массива, и массив станет пустым.
Название |
---|