import sys inf = float("inf") input = lambda: sys.stdin.readline().rstrip("\r\n") print = lambda *args, end="\n", sep=" ": sys.stdout.write( sep.join(map(str, args)) + end ) def II(): return int(input()) def MII(b=0): return map(lambda x: int(x) - b, input().split()) def LII(b=0): return list(MII(b)) def find_maximum(check, l, r=None, precision=10**-9): if r is None: r = 1 while check(r): l = r r *= 10 res = l while r - l >= precision: mid = [(l + r) / 2, (l + r) // 2][precision == 0] if check(mid): res = mid l = mid + (precision == 0) else: r = mid - (precision == 0) return res def find_minimun(check, l, r=None, precision=10**-9): def chk(x): return not check(x) res = find_maximum(chk, l, r, precision) return res + 1 if precision == 0 else res def is_sorted(a): return all(a[i] < a[i + 1] for i in range(len(a) - 1)) for _ in range(II()): n, a = II(), LII() def check(m): b = [ai + i * m for i, ai in enumerate(a, 1)] return is_sorted(b) print(find_minimun(check, -1, precision=0))