您的位置:首页 > 大数据 > 人工智能

codeforces 651B Beautiful Paintings (思路题)

2016-05-09 15:32 423 查看
[align=center]B. Beautiful Paintings[/align]

time limit per test: 1 second

memory limit per test: 256 megabytes

There are n pictures delivered for the new exhibition. Thei-th painting has beauty ai. We know that
a visitor becomes happy every time he passes from a painting to a more beautiful one.

We are allowed to arranged pictures in any order. What is the maximum possible number of times the visitor may become happy while passing all pictures from first to last? In other words, we are allowed to rearrange elements ofa in
any order. What is the maximum possible number of indicesi (1 ≤ i ≤ n - 1), such thatai + 1 > ai.

Input

The first line of the input contains integer n (1 ≤ n ≤ 1000) — the number of painting.

The second line contains the sequence a1, a2, ..., an (1 ≤ ai ≤ 1000),
whereai means the beauty of thei-th painting.

Output

Print one integer — the maximum possible number of neighbouring pairs, such thatai + 1 > ai, after the optimal rearrangement.

Examples

Input
5
20 30 10 50 40


Output
4


Input
4200 100 100 200


Output
2


Note

In the first sample, the optimal order is: 10, 20, 30, 40, 50.

In the second sample, the optimal order is: 100, 200, 100, 200.

题目链接:http://codeforces.com/problemset/problem/651/B

题意:给你一组数据,任意排列,让你求最多有多少个数大于前一个数

思路:找到出现次数最多的数,其他任意一个数要么大于他,要么小于他。

代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,x,c;
int a[1005]={0};
scanf("%d",&n);
c = 0;
for(int i=0;i<n;i++)
{
scanf("%d",&x);
a[x]++;
c=max(c,a[x]);

}
printf("%d\n",n-c);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: