http://zju.acmclub.com/index.php?app=problem_title&cid=1032&problem_id=A
题目描述
小明每周都要开车陪女朋友去商业街购物,商业街是一条笔直的大街,我们把它抽象成是X轴上的一条线段,街上的每个商铺都位于线段上整数点的位置,而顾客可以在线段上的任何一个位置停车,并且每停一次车都需要交一次费用。于是小明想知道如果自己就停一次车,然后步行去之前计划好要去的那些商铺,最后回到停车的位置,那么最短的步行路程是多少。
输入格式
输入的第一行为一个整数t(1<=t<=100),表示测试样例的组数。
接下来输入t组样例,每组输入占两行,第一行输入一个整数n(1<=n<=20),表示小明他们计划要去的商铺的个数,第二行输入n个整数,表示计划要去的那些商铺的位置,位置范围为[0,99]。
输出
对于每组输入,输出题目要求的最短的步行路程。
样例输入
2
4
24 13 89 37
6
7 30 41 14 39 42
样例输出
152
70
最短路径就是最大的位置减去最小的位置,然后乘以2,即(max-min)*2
分析:
#include <iostream>
using namespace std;
int main()
{
int t, n, p, max, min;
cin>>t;
while (t--)
{
cin>>n;
max = -100000000;
min = 100000000;
while (n--)
{
cin>>p;
if (p > max)
max = p;
if (p < min)
min = p;
}
cout<<(max - min) * 2<<endl;
}
return 0;
}