Codeforces Round 497 (Div. 1) |
---|
Закончено |
Дан массив целых чисел. Вася может переставлять его числа местами. При этом он хочет, чтобы как можно больше чисел стояли там, где раньше стояли меньшие числа. Помогите ему найти максимальное количество таких чисел.
Например, если нам дан массив $$$[10, 20, 30, 40]$$$, мы можем переставить числа так, что массив станет $$$[20, 40, 10, 30]$$$. При этом на первой и второй позициях числа стали больше ($$$20>10$$$, $$$40>20$$$), а на третьей и четвёртой — нет, значит для такой перестановки число, которое хочет максимизировать Вася, равно $$$2$$$. Ознакомьтесь с примечанием к первому тестовому примеру, там разобран ещё один показательный тест.
Помогите Васе так переставить числа, чтобы количество позиций, в которых в новом массиве числа больше, чем в изначальном, было максимальным.
Первая строка содержит одно целое число $$$n$$$ ($$$1 \leq n \leq 10^5$$$) — размер массива.
Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \leq a_i \leq 10^9$$$) — элементы массива.
Выведите одно целое число — максимальное число элементов массива, которые после перестановки будут стоять на позициях, где изначально стоял меньший элемент.
7
10 1 1 1 5 5 3
4
5
1 1 1 1 1
0
В первом тесте одна из оптимальных перестановок — $$$[1, 5, 5, 3, 10, 1, 1]$$$. На позициях со второй по пятую значения увеличились, значит ответ для этой перестановки — 4.
Во втором тесте при любой перестановке ни на одной позиции элемент не может стать больше, значит, ответ — 0.
Название |
---|