问题 4756 --鑫鑫和颖颖

4756: 鑫鑫和颖颖★★

时间限制: 2 Sec  内存限制: 256 MB
提交: 174  解决: 72
[提交][状态][命题人:]

题目描述

鑫鑫将参加颖颖的生日。鑫鑫决定他将要送给颖颖的礼物是一个由n个非负整数组成的数组

鑫鑫在1000年前创造了这个数组,所以数组中的一些元素消失了。鑫鑫知道颖颖不喜欢看到两个相邻元素之间绝对差值很大的数组。他没有太多时间,所以他想选择一个整数k0k10^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,则可以打印其中任何一个。

样例输入
Copy
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
样例输出
Copy
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

来源

[提交][状态]