#P6792. 「ICPC World Finals 2020」穹顶

「ICPC World Finals 2020」穹顶

题目描述

圣瓦西里大教堂是莫斯科,甚至是整个俄罗斯最著名的地标性建筑。这座教堂于 16 世纪的伊凡四世时期修建,以其彩色穹顶而广为人知。如果你没有去红场前的这座教堂照过相,那你就完全没有游览过这座城市。

domes1.png domes2.png
图 C.1. 从两个不同角度看圣瓦西里大教堂

莫斯科旅游局(MTB)想要让游客尽可能安全地拍出教堂最好的照片。穹顶的相对位置取决你拍照时所站的位置,拍照时所站的位置不同,穹顶的相对位置也不同(见图 C.1.)。MTB 考虑到,对于可以拍到一些想拍到的穹顶的位置,拍照者可能需要聚集在红场上一个很小的区域。MTB 想要避免人群聚集必然导致的拥挤,推搡,受伤和新冠疫情传播,于是他们想要求出对于想拍出任一穹顶顺序,这个人可以处在的位置范围的面积。

domes4.png
图 C.2. 对样例输入的描述

具体说来,假设照相机的视角为 180 度。考虑图 C.2.,这张图展示了平面上穹顶的位置(编号为 1155)和照相者的位置(绿点)。如果拍照者将镜头正对左边拍摄(正对穹顶 55),那么照片中阴影部分区域全部都是可见的。注意在这张照片中,穹顶从左到右出现的顺序为 4,3,5,2,14,3,5,2,1

给定红场上穹顶的位置和从左到右在照片上期望的穹顶出现顺序,MTB 想知道在红场上可以拍出这张照片的区域有多大。你可以假设穹顶是点,因此除非它们在照相者的角度上形成了一条直线,否则它们不会相互遮挡。

输入格式

第一行包含三个整数 dx,dy (2dx,dy105)d_x,d_y\ (2\le d_x,d_y\le 10^5)n (1n100)n\ (1\le n\le 100)dxd_xdyd_y 表示红场的大小,nn 表示穹顶的个数。红场的左下角位于原点 (0,0)(0,0),右上角位于 (dx,dy)(d_x,d_y)

接下来 nn 行,每行包含两个整数 xix_iyi (0<xi<dx,0<yi<dy)y_i\ (0<x_i<d_x,0<y_i<d_y),表示穹顶位于 (xi,yi)(x_i,y_i)。第 ii 行描述了编号为 ii 的穹顶位置。没有两个穹顶位于相同位置。

最后一行包含数字 {1,,n}\{1,\ldots ,n\} 的排列。表示在照片中想要拍到的穹顶从左到右的顺序。

输出格式

输出在红场范围内,一个人可以拍出要求的穹顶顺序可以所处的区域面积。注意如果没有任何位置可以拍出要求的照片的话,区域面积可能为 00。你的答案与标准答案间的绝对或相对误差最多为 10310^{-3}

100 100 5
30 70
50 60
50 40
30 30
20 50
4 3 5 2 1

450.000000

100 100 5
30 70
50 60
50 40
30 30
20 50
1 2 5 4 3

0.000000