#P1758. Frontier

Frontier

本题没有可用的提交语言。

题目描述

利立浦特(Lilliputian)的边境是一个面积非零的凸多边形。该多边形的顶点是瞭望塔,由直线连接。这条边境线过长,维护成本高昂,因此利立浦特政府决定对其进行修订以缩短其长度。然而,他们不希望新建瞭望塔,而是希望利用现有的瞭望塔作为新边境的一部分。

每天,边境守卫会巡查边境。他们按顺时针方向从一个瞭望塔前往下一个瞭望塔。瞭望塔按巡查顺序编号为 1 到 N。边境修订不应改变这种巡查方式,且修订后的利立浦特面积必须保持非零。

例如,图中所示的边境(坐标轴以千米为单位)的巡查路线为 1 - 2 - 3 - 4 - 5 - 1,总长度为 57.89 千米。为了使边境尽可能短,利立浦特可以将其修订为 2 - 3 - 4 - 2 的路线,从而将长度缩短至 27.31 千米。

然而,利立浦特境内有多处历史遗迹,这些遗迹是其重要的骄傲。历史遗迹必须被保留在利立浦特境内,且不能位于边境线上。因此,任务是设计一条最短的边境线,确保所有历史遗迹均位于利立浦特境内。

在示例图中,标记为“A”和“B”的两个历史遗迹位于境内。为了将它们保留在境内,最短的边境线巡查路线为 1 - 2 - 3 - 4 - 1,长度为 51.78 千米。

输入

输入文件的第一行包含两个整数 N 和 M,以空格分隔。N(3 ≤ N ≤ 50)是利立浦特边境上瞭望塔的总数。M(0 ≤ M ≤ 1000)是利立浦特境内历史遗迹的总数。

接下来的 N 行按顺时针顺序给出瞭望塔的坐标,随后 M 行给出历史遗迹的坐标。所有坐标由两个整数(分别表示 X 和 Y)组成,以空格分隔。坐标以千米为单位,且每个坐标的绝对值不超过 10000。所有瞭望塔的坐标互不相同。

输出

输出文件包含一个实数,表示利立浦特边境可能的最短长度(以千米为单位),精确到小数点后两位。

示例输入 1

5 2 8 9 0 -7 -8 -7 -8 1 -8 9 -4 -3 -1 -5

示例输出 1

51.78 来源 Northeastern Europe 2000