#include <cstdio> #include <algorithm> #include <vector> using namespace std; int main() { int N; int b; vector<int> a;//定义动态数组a while (scanf("%d",&N) != EOF) { for (int i = 0; i < N; ++i) { scanf("%d",&b); a.push_back(b);//向a的尾部添加N个元素 } sort(a.begin(), a.end());//对a中的元素进行排序,升序排列 printf("%d\n",a[N-1]);//先输出最大的元素 a.pop_back();//将最大的元素从尾部删除 if(a.empty()){//剩余元素为空时,输出-1 printf("-1"); }else{ for(int i = 0;i < a.size();++i){ printf("%d ",a[i]); } } printf("\n"); } return 0; }