PAT1045运行超时我知道原因,还提示格式错误是哪里有问题

 //pat1045v1
#include <stdio.h>
#include <stdlib.h>
int cmp(const void* a,const void* b){
    return *(int*)a-*(int*)b;
}
int main(){
    int n,i,j,flag=0,k=0;   scanf("%d",&n);
    long int a[100001]={0},b[100001]={0};
    for(i=0;i<n;i++)    scanf("%ld",&a[i]);
    for(i=0;i<n;i++){
        j=n-1; 
        while(j+1!=0){  //i两边的进行比较 
            if((j-i)*(a[j]-a[i])<0){
                    flag=1;
                    break;
            }
            j--; 
        }
        if(flag==0)  b[k++]=a[i];
        flag=0; 
    }
    qsort(b,k,sizeof(long int),cmp);
    printf("%d\n",k);
    for(i=0;i<k;i++)
        printf("%d%c",b[i],i==k-1?'\n':' ');
    return 0;
}

如果不存在主元的话,必须要再打印一个空行

https://blog.csdn.net/wanmeiwushang/article/details/51622047
如果这个程序能过ac的话,你结尾的换行是多余的。