https://www.nowcoder.com/acm/contest/134/J
题解:推论得出最小操作数就是序列长度减掉不相同的数字总数。
也就是相同的两个数变成两个不同于序列的两个数,新产生的最多只有一个数可能与原序列相同。
#include <bits/stdc++.h>
using namespace std;
const int maxn = 100000 + 10;
int a[maxn];
int main() {
int n;
cin >> n;
for(int i = 0;i < n;i++) {
cin >> a[i];
}
sort(a,a+n);
int cnt = 0;
for(int i = 1;i < n;i++) {
if(a[i] == a[i-1])
cnt++;
}
cout << cnt << endl;
return 0;
}