鑫鑫将参加颖颖的生日。鑫鑫决定他将要送给颖颖的礼物是一个由n个非负整数组成的数组。
鑫鑫在1000年前创造了这个数组,所以数组中的一些元素消失了。鑫鑫知道颖颖不喜欢看到两个相邻元素之间绝对差值很大的数组。他没有太多时间,所以他想选择一个整数k(0≤k≤10^9)并用k替换数组a中所有缺失的元素。
设m为在鑫鑫用k替换所有缺少的元素后,数组a中所有相邻元素之间的最大绝对差值。
鑫鑫要选择一个整数k,使m最小。你能帮助他吗?
鑫鑫将参加颖颖的生日。鑫鑫决定他将要送给颖颖的礼物是一个由n个非负整数组成的数组。
鑫鑫在1000年前创造了这个数组,所以数组中的一些元素消失了。鑫鑫知道颖颖不喜欢看到两个相邻元素之间绝对差值很大的数组。他没有太多时间,所以他想选择一个整数k(0≤k≤10^9)并用k替换数组a中所有缺失的元素。
设m为在鑫鑫用k替换所有缺少的元素后,数组a中所有相邻元素之间的最大绝对差值。
鑫鑫要选择一个整数k,使m最小。你能帮助他吗?
输入由多个测试用例组成。第一行包含一个整数t(1≤T≤10^4)表示测试用例的数量。测试用例的描述如下。
每个测试用例的第一行包含一个整数n(2≤n≤10^5)表示数组a的大小。
每个测试用例的第二行包含n个整数a1、a2、…、an(−1≤ ai ≤10^9). 如果ai=−1,则缺少第i个整数。保证每个测试用例中至少缺少一个整数。
保证所有测试用例n之和不超过4*10^5。
按以下格式打印每个测试用例的答案:
您应该打印两个整数,最小可能值m和整数k(0≤k≤10^9)这使得数组a中相邻元素之间的最大绝对差值等于m。
确保在用k替换所有缺失的元素后,相邻元素之间的最大绝对差值变为m。
如果有多个可能的k,则可以打印其中任何一个。
7 5 -1 10 -1 12 -1 5 -1 40 35 -1 35 6 -1 -1 9 -1 3 -1 2 -1 -1 2 0 -1 4 1 -1 3 -1 7 1 -1 7 5 2 -1 5
1 11 5 37 3 6 0 0 0 0 1 2 3 4
用11替换第一个测试用例中所有缺失元素后,数组变为[11,10,11,12,11],所以答案是1。
在用6替换第三个测试用例中所有缺失元素后,数组变为[6,6,9,6,3,6]。
· |a1−a2|=|6−6|=0;
· |a2−a3|=|6−9|=3;
· |a3−a4|=|9−6|=3;
· |a4−a5|=|6−3|=3;
· |a5−a6|=|3−6|=3.
因此,相邻元素之间的绝对差值都将为3