题解 | #特殊排序#
特殊排序
https://www.nowcoder.com/practice/57f0f528bff149be9580af66f6292430
#include <iostream>
#include <algorithm>
using namespace std;
//大脑当机了属于,哼次哼次做完才发现,根本不用找最大数,也不用建立替换数组,直接对原始数组排序,最后一个就是最大值了
int main() {
int n;
while (cin >> n) {
int a[n],b[n-1];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
if(n==1)
{
cout<<a[0]<<endl;
cout<<"-1"<<endl;
}
else{
int max=a[0];
int xb=0;
for(int i=0;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
xb=i;
}
}
for(int j=0,i=0;i<n;)
{
if(i!=xb){
b[j]=a[i];
j++;i++;
}
else{i++;}
}
sort(b,b+n-1);
cout<<max<<endl;
for(int i=0;i<n-1;i++)
{
cout<<b[i]<<" ";
}
cout<<endl;
}
}
}
// 64 位输出请用 printf("%lld")
