题目描述
【题目描述】
农夫约翰的N头牛总是在农场的远处游荡!他需要你的帮助把他们赶回来。
农场里的田地又长又细——我们可以把它想象成一条数字数轴,在这条数轴上,一头牛可以占据任何整数位置。目前有N头奶牛位于不同的整数位置,农夫约翰希望移动它们,使它们占据连续的位置(例如,位置3、4、5、6、7和8)。
不幸的是,奶牛很困,农夫约翰很难引起它们的注意,让它们动起来。在任何时间点,只有当奶牛是“端点”(所有奶牛中的最小或最大位置)时,他才能让奶牛移动。当他移动一头牛时,他可以指示它移动到任何未占用的整数位置,只要在这个新位置它不再是端点。观察到,随着时间的推移,这些类型的移动往往会将奶牛推得越来越近。
请确定在奶牛被分组到N个连续位置所需要的最小和最大移动次数
【输入格式】(herding.in):
第一行输入包含N(3≤N≤10^5). 接下来的N行中的每一行包含单个奶牛的整数位置,范围为1…10^9。
【输出格式】(herding.out):
第一行输出将奶牛分组所需的最少移动次数。
第二行输出将奶牛分组所需要的最大移动次数。
【样例输入】:
3
7
4
9
【样例输出】:
1
2
【样例说明】
最小移动次数为1——如果农夫约翰将奶牛从4号位置移动到8号位置,那么奶牛将位于连续的7、8、9号位置。最大移动次数为2。例如,可以将9号位置的奶牛移动到6号位置,然后将7号位置的牛移动到5号位置。