#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int maxn=100010;
const int INF=1000000010;
int initial[maxn],maxv[maxn],minv[maxn],N;
vector<int> ans;
int main(){
scanf("%d",&N);
for(int i=0;i<N;i++)
scanf("%d",&initial[i]);
int nowmax=-1;
for(int i=0;i<N;i++){
maxv[i]=nowmax;
nowmax=max(nowmax,initial[i]);
}
int nowmin=INF;
for(int i=N-1;i>=0;i--){
minv[i]=nowmin;
nowmin=min(nowmin,initial[i]);
}
for(int i=0;i<N;i++)
if(initial[i]>maxv[i]&&initial[i]<minv[i]) ans.push_back(initial[i]);
sort(ans.begin(),ans.end());
printf("%d\n",ans.size());
for(int i=0;i<ans.size();i++)
i!=ans.size()-1?printf("%d ",ans[i]):printf("%d",ans[i]);
printf("\n");
return 0;
}
PAT A1101
最新推荐文章于 2023-03-06 23:00:35 发布