水题。刚开始犯2了,想了好多方法都超时,其实只要排下序,然后首尾输出就行了。
#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int n,i,a[10005];
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
sort(a+1,a+1+n,cmp);
int q=2,p=n;
printf("%d",a[1]);
for(i=2;i<=n;i++)
{
if(i%2==0)
{
printf(" %d",a[p]);
p--;
}
else
{
printf(" %d",a[q]);
q++;
}
}
printf("\n");
}
return 0;
}