解法:
只需要看身高最高的乌鸡个数是否>=2.若满足则除去当前这只乌鸡的最高身高都是最高身高。
若不满足则只需要看最高的和第二高的乌鸡。
#include<iostream>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;
#define endl '\n'
int main()
{
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n; cin >> n;
if (n >= 2) {
vector<int> vec1(n, 0);
for (int i = 0; i < n; i++) cin >> vec1[i];
vector<int> vec(vec1);
sort(vec.begin(), vec.end(), greater<int>());
if (vec[0] == vec[1]) {
for (int i = 0; i < n; i++) {
cout << vec[0] << " ";
}
}
else {
for (int i = 0; i < n; i++) {
if (vec1[i] == vec[0]) {
cout << vec[1] << " ";
}
else {
cout << vec[0] << " ";
}
}
}
}
return 0;
}