C. Poisoned Dagger
#include <iostream>
#include <vector>
#include <map>
using namespace std;
typedef long long ll;
ll n, a, b, t, h;
int main()
{
cin >> t;
while (t--)
{
cin >> n >> h;
vector<ll> a(n);
for (int i = 0; i < n; ++i)
cin >> a[i];
ll l = 1, r = h;
while (l < r)
{
ll mid = l + r >> 1;
int flag = 0;
ll ans = 0;
for (int i = 1; i < n; ++i)
{
ans += min(mid, a[i] - a[i - 1]);
}
ans += mid;
if (ans < h)
l = mid + 1;
else
r = mid;
}
cout << l << endl;
}
return 0;
}