问题 4710 --世界编程比赛

4710: 世界编程比赛★★

时间限制: 2 Sec  内存限制: 256 MB
提交: 67  解决: 35
[提交][状态][命题人:]

题目描述

3022年,一批世界编程冠军的参赛者住在一个大旅馆里。这个旅馆有n层,每一层都由一个单独的走廊连通了m单元。这些单元沿走廊标为1m号,并且不同层中有相同序号的单元均为纵向连接。因此,这个旅馆可以被表示为一个高为n,宽为m的矩形。我们可以用一对坐标(i,j)来表示每个单元,其中i表示层数,j表示每一层的单元数。

    客人们可以走楼梯或电梯去往每一层的走廊,每个楼梯或电梯都通往坐标为(1x),(2x)·····(n,x)的单元,其中x属于1m。那些没有楼梯或电梯的单元住有客人。在同一楼层相邻两单元间移动或使用楼梯上下移动一层要花费一个时间单位。乘坐电梯向上或向下移动v层也要花费一个时间单位。假定等电梯的时间和进出电梯的时间忽略不计。

    你需要处理q个问题,每个问题都需要解决:“从单元(x1,y1)的房间到单元(x2,y2)的房间所需的最短时间是多少?”

输入

第一行包括五个整数n,m,c1,ce,v(2nm10^80c1,ce10^51c1+cem-11vn-1),它们分别代表层数,每一层的单元数,楼梯数,电梯数和电梯的最大速度。

第二行有cl个组合即按升序排列的l1,·····,lcl(1lim)的序列,它们指出了楼梯的位置。如果cl=0,第二行为空。

第三行有ce个组合即按升序排列的e1,·····,ece的序列,它们指出了电梯所处的位置。liei相互独立。

第四行的q(1q10^5)指的是问题的数量

接下来的q行输入问题。每一行包含四个元素x1y1x2y2(1x1x2n,1y1,y2m),它们代表开始单元和最终单元,并且它们相互独立。这些单元指客人的房间号,如y1y2不属于liei

输出

输出q个结果,每个一行,代表问题的答案。

样例输入
Copy
5 6 1 1 3
2
5
3
1 1 5 6
1 3 5 4
3 3 5 3
样例输出
Copy
7
5
4

提示

在第一个问题中选择的方式是用4个单位时间走向电梯所在的第五个单元,用2个单位时间乘电梯到第五层,再用一个单位的时间走向目的地。

第二个问题仍然选择乘电梯,但第三个问题中选择位于第二列的楼梯更好。

来源

[提交][状态]