题意:依次输出最大最小次大次小。
思路:模拟
一开始scanf忘了加~,输出超限了一发
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int n,a[10010],b[5010],c[5010],i;
while(~scanf("%d",&n))
{
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
sort(a+1,a+1+n);
if(n%2)
{
for(i=1;i<=n/2;i++)
{
b[i]=a[i];
c[i]=a[n+1-i];
}
for(i=1;i<=n/2;i++)
printf("%d %d ",c[i],b[i]);
printf("%d\n",a[n/2+1]);
}
else
{
for(i=1;i<=n/2;i++)
{
b[i]=a[i];
c[i]=a[n+1-i];
}
for(i=1;i<n/2;i++)
{
printf("%d ",c[i]);
printf("%d ",b[i]);
}
printf("%d %d\n",c[n/2],b[n/2]);
}
}
}
//人一我百,人百我万
//时间