原题链接 http://acm.hdu.edu.cn/showproblem.php?pid=1673
#include <cstdio>
#include <algorithm>
#define maxn 30
using namespace std;
int a[maxn];
//一条直线街, 每个地方都用一人整数标记.给出 N 个要去的地方(整数), 求
//出停车后(停车地点为一整数), 逛完所给出的地方, 回到停车处要走的最短距离….
//停车地点为相隔最远的两点的中间, 计算往返距离. 最终最短距离为: (max – min) * 2.
//(max – min) * 2 理解为: (停车点 – 最左边的地方) * 2 + (最右边的地方 – 停车点 ) * 2.
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int x;
scanf("%d",&x);
for(int i=0;i<x;i++)
scanf("%d",&a[i]);
sort(a,a+x);
int min=(a[x-1]-a[0])*2;
printf("%d\n",min);
}
return 0;
}