大大大大大大大水题
略加思考一下就行了
这个式子不要看它很复杂,把他去一下括号就知道了
(x[1]-x[2])+(x[2]-x[3])+….+(x[n-1]-x[n])
=x[1]-x[2]+x[2]-x[3]+x[3]-……+x[n-1]-x[n](然后抵消)
=x[1]-x[n]
所以,我们只要从小到大排一遍序,然后交换首项和末项(刚刚化简过了,看出中间怎么加减都是0,不会改变。要结果最大,就要拿最大的减最小的)
直接上代码:
#include <bits/stdc++.h>
using namespace std;
int a[10005]; //开个数组
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+n+1); //从小到大排序,注意,sort是左闭右开
cout<<a[n]<<" "; //输出最大的
for(int i=2;i<n;i++) //输出中间的数
{
cout<<a[i]<<" ";
}
cout<<a[1]<<'\n'; //输出最小的
return 0; //结束
}