传染病统计
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

阿强来到大街上,街上有 N 个人,编号为 1 ∼N 。简单起见,我们把每个人都看成一条线上的一个点。对每个合法的 i,第 i 个人的位置是 x_i
这些人当中恰好有一个感染了 COVID-19,但我们不知道是哪一个。当一个被感染的人和一个未被感染的人之间的距离不超过 2 时,病毒会从前者传播到后者。如果我们等待足够长的时间,会有些人(这些人由第一个感染者确定)被感染;这些人的数量被称作最终被感染的人数
阿强希望求出最终被感染的人数的最小和最大可能的值,也就是最好和最坏情况下这个数的值。

输入描述:

第一行包含一个整数T,表示数据组数。接下来是T组数据。
•每组数据的第一行包含一个整数N
•第二行包含N个整数,用空格隔开。

输出描述:

对于每组数据,输出一行包含两个整数,用空格隔开,表示最终被感染的人数的最小值和最大值。

示例1

输入

复制
3
2
3 6
3
1 3 5
5
1 2 5 6 7

输出

复制
1 1
3 3
2 3