#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define nl '\n'
#define int long long
void file()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#else
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
#endif
}
int dp[100005][2], vis[100005][2], id = 1, n;
vector<int> v;
int rec(int i,int f)
{
if (i >= n - 1)
return 0;
int &ret = dp[i][f];
if (vis[i][f] == id)return ret;
vis[i][f] = id;
ret = rec(i + 2,f) + max({0ll, v[i - 1] - v[i] + 1, v[i + 1] - v[i] + 1});
if (i+1 < n-1 && f)
ret = min(ret,rec(i+1,0));
return ret;
}
void solve()
{
cin >> n;
v = vector<int> (n);
for (int i = 0; i < n; i++)
cin >> v[i];
int res = 0;
for (int i = 1; i < n - 1; i += 2)
{
res += max({0ll, v[i - 1] - v[i] + 1, v[i + 1] - v[i] + 1});
}
if (n % 2 == 0)
{
res = min(res, rec(1,1));
}
cout << res << nl;
id++;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
file();
int t = 1;
cin >> t;
while (t--)
{
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgIGxsICBsb25nIGxvbmcKI2RlZmluZSAgbmwgJ1xuJwojZGVmaW5lICBpbnQgbG9uZyBsb25nCgp2b2lkIGZpbGUoKQp7CiNpZm5kZWYgT05MSU5FX0pVREdFCiAgICBmcmVvcGVuKCJpbi50eHQiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oIm91dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbHNlCiAgICAvLyBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKICAgIC8vIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgp9CgppbnQgZHBbMTAwMDA1XVsyXSwgdmlzWzEwMDAwNV1bMl0sIGlkID0gMSwgbjsKdmVjdG9yPGludD4gdjsKaW50IHJlYyhpbnQgaSxpbnQgZikKewogICAgaWYgKGkgPj0gbiAtIDEpCiAgICAgICAgcmV0dXJuIDA7CgogICAgaW50ICZyZXQgPSBkcFtpXVtmXTsKICAgIGlmICh2aXNbaV1bZl0gPT0gaWQpcmV0dXJuIHJldDsKICAgIHZpc1tpXVtmXSA9IGlkOwogICAgcmV0ID0gcmVjKGkgKyAyLGYpICsgbWF4KHswbGwsIHZbaSAtIDFdIC0gdltpXSArIDEsIHZbaSArIDFdIC0gdltpXSArIDF9KTsKICAgIGlmIChpKzEgPCBuLTEgJiYgZikKICAgICAgICByZXQgPSBtaW4ocmV0LHJlYyhpKzEsMCkpOwogICAgcmV0dXJuIHJldDsKfQoKdm9pZCBzb2x2ZSgpCnsKCiAgICBjaW4gPj4gbjsKCiAgICB2ID0gdmVjdG9yPGludD4gKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgY2luID4+IHZbaV07CgogICAgaW50IHJlcyA9IDA7CiAgICBmb3IgKGludCBpID0gMTsgaSA8IG4gLSAxOyBpICs9IDIpCiAgICB7CiAgICAgICAgcmVzICs9IG1heCh7MGxsLCB2W2kgLSAxXSAtIHZbaV0gKyAxLCB2W2kgKyAxXSAtIHZbaV0gKyAxfSk7CiAgICB9CgogICAgaWYgKG4gJSAyID09IDApCiAgICB7CiAgICAgICAgcmVzID0gbWluKHJlcywgcmVjKDEsMSkpOwogICAgfQogICAgY291dCA8PCByZXMgPDwgbmw7CiAgICBpZCsrOwp9CgpzaWduZWQgbWFpbigpCnsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwogICAgZmlsZSgpOwoKICAgIGludCB0ID0gMTsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkKICAgIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQoKICAgIHJldHVybiAwOwp9