#USACO2243. 困牛放牧

困牛放牧

题目描述

Farmer John的 NN 头奶牛总是会迷路走到农场上遥远的地方去!

他需要你帮助将她们一起赶回来。

农场的草地大体是一块狭长的区域——我们可以将其想象成一条数轴,奶牛可以占据数轴上的任意整数位置。

这 NN 头奶牛现在正位于不同的整数位置,Farmer John想要移动她们,使得她们占据相邻的位置(例如,位置 3、4、5、6、7、83、4、5、6、7、8)。

不幸的是,奶牛们现在很困,Farmer John要让她们集中精力听从命令移动并不容易。

任意时刻,他只能使得一头处在“端点”(在所有奶牛中位置最小或最大)位置的奶牛移动。

当他移动奶牛时,他可以命令她走到任意一个未被占用的整数位置,只要在新的位置上她不再是一个端点。

可以看到随着时间的推移,这样的移动可以使奶牛们趋向越来越近。

请求出使得奶牛们集中到 NN 个相邻位置所进行的移动次数的最小和最大可能值。

输入格式

第一行包含一个整数 NN 。

接下来 NN 行,每行一个整数表示一头奶牛的位置。

输出格式

输出的第一行包含Farmer John需要将奶牛们聚集起来所需进行的最小移动次数。

第二行包含他将奶牛聚集起来能够进行的最大移动次数。

3
7
4
9​
1
2​

提示

3≤N≤1053≤N≤10^5

1≤位置≤1091 \leq 位置 \leq 10^9

最小移动次数为 1——如果Farmer John将位置 4的奶牛移动到位置 8,那么奶牛们就处在连续的位置 7、8、9。

最大移动次数为 2。例如,位置 9的奶牛可以被移动到位置 6,然后位置 7的奶牛可以被移动到位置 5。