1045 快速排序 (25 分)

#include<stdio.h>

#define inf 0x7fffffff

int main()

{

int n,num[100100],max[100100],min[100100];

scanf("%d",&n);

int i;

for(i=1;i<=n;i++)

{

scanf("%d",&num[i]);

if(i==1)

max[1]=0;

else

{

if(max[i-1]>num[i-1])

max[i]=max[i-1];

else

max[i]=num[i-1];

}

}

for(i=n;i>=1;i--)

{

if(i==n)

min[i]=inf;

else

{

if(min[i+1]>num[i+1])

min[i]=num[i+1];

else

min[i]=min[i+1];

}

}

int cou=0;

for(i=1;i<=n;i++)

{

if(num[i]>=max[i]&&num[i]<=min[i])

cou++;

}

int bla=0;

printf("%d\n",cou);

for(i=1;i<=n;i++)

{

if(num[i]<=min[i]&&num[i]>=max[i])

{

if(bla)

printf(" ");

printf("%d",num[i]);

bla++;

}

}

if(bla==0)

printf("\n");

return 0;

}

猜你喜欢

转载自blog.csdn.net/yubai258/article/details/90055698