#D0022. 数列重排

数列重排

题目描述

给定一个长度为 nn 的数列 a1,a2,,ana_1, a_2, \ldots, a_n

你可以任意重新排列这个数列。

你希望重新排列后,在相同位置上的元素数值增大了的数尽可能地多。

换句话说,设重新排列之后的数列为 a1,a2,,ana'_1, a'_2, \ldots, a'_n,你希望满足 ai>aia'_i \gt a_i(其中 1in1 \le i \le n)的元素个数最多。

输入格式

第一行,一个整数 n(1n105)n(1 \le n \le 10^5)

第二行,nn 个整数 a1,a2,,an(1ai109)a_1, a_2, \ldots, a_n(1 \le a_i \le 10^9)

输出格式

输出一个整数,表示重新排列的数列中同一个位置元素的数值比重新排列前的元素数值更大的数的最大个数。

input1

7
10 1 1 1 5 5 3

output1

4

input2

5
1 1 1 1 1

output2

0

说明/提示

样例解释

样例1:一种最优的重新排列是 [1,5,5,3,10,1,1][1, 5, 5, 3, 10, 1, 1],其中下标为 2,3,4,52, 3, 4, 5 的元素数值相比增大了;

样例2:无论如何排列数列都是一样的,不会存在任何位置的元素相比增大。

数据规模与约定

  • 对于 20%20\% 的数据,n10;ai10n \le 10; a_i \le 10
  • 对于 50%50\% 的数据,n1000;ai1000n \le 1000; a_i \le 1000
  • 对于 80%80\% 的数据,n104;ai106n \le 10^4; a_i \le 10^6
  • 对于 100%100\% 的数据,1n105;1ai1091 \le n \le 10^5; 1 \le a_i \le 10^9