Dotcpp  >  编程题库  >  蓝桥杯2022年第十三届决赛真题-修路
题目 2722:

蓝桥杯2022年第十三届决赛真题-修路

时间限制: 5s 内存限制: 576MB 提交: 341 解决: 101

题目描述

这天,小明在修路。

他需要修理两条平行的道路 A, B,两条路上面分别有 n 个和 m 个点需要维修,它们相对于道路起点的距离分别为 a1, a2, . . . , an 和 b1, b2, b, ..., bm。如图,两条路之间的距离为 d 且它们起点 (最左端) 的连线和两条路都垂直。小明的起点为道路 A 的起点,他需要尽可能快地遍历这些需要维修的 n + m 个点,他既可以沿着道路 向右 行走,也可以在两条道路之间的空地上 随意 行走。

蓝桥杯2022年第十三届决赛真题-修路

小明想知道遍历这些点的最短路程是多少。

输入格式

输入共三行,第一行为三个正整数 n, m, d。

第二行为 n 个由空格隔开的正整数 a1, a2, ..., an

第三行为 m 个由空格隔开的正整数 b1, b2, ..., bm

输出格式

一行,一个浮点数,表示答案,保留两位小数。

样例输入

2 2 2
2 1
1 2

样例输出

5.24

提示

图中红线指出了样例的最短路线,

对于 30% 的数据,保证 n + m ≤ 10;

对于 100% 的数据,保证 n, m ≤ 2000, d ≤ 4 × 106 , ai , bi ≤ 106

标签