题目链接
代码:
#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a,const void *b){return (*(int *)a-*(int *)b);
}
int main()
{int max=0,n,a1[100000],a2[100000],a3[100000],b,c=0,d=0;scanf("%d",&n);for(b=0;b<n;b++){scanf("%d",&a1[b]);a2[b]=a1[b];}qsort(a1,n,sizeof(a1[0]),cmp);for(b=0;b<n;b++){if(a1[b]==a2[b]&&a1[b]>max)a3[d++]=a2[b];if(a2[b]>max)max=a2[b];}printf("%d\n",d);for(b=0;b<d;b++){if(b!=0)printf(" ");printf("%d",a3[b]);}printf("\n");return 0;
}