CF50C Happy Farm 5
题目描述
《快乐农场 5》的开发者决定设计一种“奶牛吃草”的机制。游戏中的奶牛移动得非常慢,几乎可以认为它们静止不动。但必须时刻把食肉动物赶走。
为此,小玩家 Vasya 决定让牧羊人沿着一条封闭路径绕着奶牛跑。这条路径必须确保所有奶牛都严格位于路径所围成的区域内部,否则迟早会有奶牛被吃掉。为了确保奶牛的绝对安全,Vasya 想让牧羊人跑完整个路径所需的时间最短。
由于该游戏会在多种设备(包括手机)上运行,开发者决定不使用浮点数运算,只用整数运算。游戏中,奶牛和牧羊人都以平面上的整数坐标点表示。游戏时间按照回合建模。在每个回合,牧羊人可以保持原地不动,或者向八个方向(水平、垂直或对角)中的一个移动。由于坐标始终是整数,水平和垂直移动的步长为 $1$,而对角方向的步长为 $\sqrt{2}$。奶牛保持不动。你的任务是最小化牧羊人环绕所有奶牛一周所需的总步数。
输入格式
第一行包含一个整数 $N$,表示奶牛的数量($1 \leq N \leq 10^5$)。接下来的 $N$ 行,每行包含两个整数 $X_i$ 和 $Y_i$,表示第 $i$ 头奶牛的坐标($|X_i|, |Y_i| \leq 10^6$)。多头奶牛可能站在同一个点上。
输出格式
输出一个整数,表示所求路径的最小步数。
说明/提示
样例测试的图片如下:坐标网格为灰色,坐标轴为黑色,奶牛为红色,所求路径为绿色。

由 ChatGPT 5 翻译