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$)。多头奶牛可能站在同一个点上。

输出格式

输出一个整数,表示所求路径的最小步数。

说明/提示

样例测试的图片如下:坐标网格为灰色,坐标轴为黑色,奶牛为红色,所求路径为绿色。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF50C/8b34e942d3e45fab9f6a1a087e0ce5cc6f58c465.png) 由 ChatGPT 5 翻译