#include <iostream> #include <cstdio> #include <algorithm> using namespace std; const int MAX_NUM = 1000; /** * 特殊排序--华中科技大学 */ int main() { int n; while (cin >> n) { int num[MAX_NUM]; for (int i = 0; i < n; ++i) { cin >> num[i]; } if (n == 1) { //特殊情况,只有一个整数,那自己就是最大值 cout << num[n - 1] << endl; cout << "-1" << endl; return 0; } //排序 sort(num, num + n); //升序序列的最后面的值一定是最大值 int max = num[n - 1]; //输出最大值 cout << max << endl; /* * num[n-1]是最大值,不必输出 * 因此,循环到n-2即可 */ for (int j = 0; j < n - 1; ++j) { if (j != n - 2) { cout << num[j] << " "; } else { //最后一个不需要空格,但是需要换行 cout << num[j] << endl; } } } return 0; }