原题链接:https://codeforces.com/contest/1901/problem/A
思路:题目给出了一个数轴,从0到x,又给出了一个数组表示这个数组元素这个下标存在加油站,即车到那里车油就会加满,初始的时候车是加满油的,题目要从0到x,又从x到0,汽车每走一单位距离就要消耗一单位的油量,问汽车最小的汽油容量是多少。这里就要求出每个相邻加油站路程的最大值,也就是汽车没有补给的情况走的最远距离,这里不要忘记从最后一个加油站到x,还有x到最后一个加油站。
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
const int N=55;
int t,n,x,a[N];
int main()
{
cin>>t;
while(t--)
{
scanf("%d %d",&n,&x);
int ans=0;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
ans=max(ans,a[i]-a[i-1]);
}
ans=max(ans,2*(x-a[n]));
cout<<ans<<endl;
}
return 0;
}