[CF651B] Beautiful Paintings
題目大意
給你 $n$ 個數字 $a_1, a_2, \ldots, a_n$,請問重新排列以後最多可以有多少個 index 使得 $a’_{i+1} > a’_i$?
題解
把不同的 $a_i$ 蒐集起來變成一條一條的,所以最大的數量就是 $n$ 扣掉這些數字的最大頻率。
參考程式碼
// by tmt514
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <string>
#include <vector>
#define SZ(x) ((int)(x).size())
#define FOR(it, c) for(__typeof((c).begin()) it = (c).begin(); it != (c).end(); ++it)
using namespace std;
typedef long long LL;
int a[1005];
int main(void) {
int n;
scanf("%d", &n);
for(int i=0;i<n;i++) {
int x;
scanf("%d", &x);
a[x]++;
}
printf("%d\n", n - *max_element(a, a+1001));
return 0;
}