#include <stdio.h>
#include <math.h>
#include <limits.h>
int MinIndex(int a[], int n); //函数返回数组a中最小元素的下标
int MaxIndex(int a[], int n); //函数返回数组a中最大元素的下标
int Index(int a[],int n,int I); ||求函数下标
void PrintArr(int a[],int n);
int main()
{
int a[10086];
int i,n;
scanf("%d",&n);
for (i=0;i<=n-1;i++)
{
scanf("%d",&a[i]);
}
int exchange;
exchange=a[MaxIndex(a,n)];
a[MaxIndex(a,n)]=a[n-1];
a[n-1]=exchange;
exchange=a[MinIndex(a,n)];
a[MinIndex(a,n)]=a[0];
a[0]=exchange;
PrintArr(a,n);
}
int MinIndex(int a[],int n)
{
int min=INT_MAX;
int i=0;
for (;i<=n-1;i++)
{
min=a[i]<min?a[i]:min;
}
return Index(a,n,min);
}
int MaxIndex(int a[],int n)
{
int max=INT_MIN;
int i=0;
for (;i<=n-1;i++)
{
max=a[i]>max?a[i]:max;
}
return Index(a,n,max);
}
int Index(int a[],int n,int I)
{
int i=0;
for (;i<=n-1;i++)
{
if (a[i]==I)
{
return i;
}
else continue;
}
}
void PrintArr(int a[],int n)
{
int i=0;
for (;i<=n-1;i++)
{
printf("%d ",a[i]);
}
}
01-11