#P16439. PM8143雷达测速记录
PM8143雷达测速记录
题目背景
一条公路的两端各安装了一台雷达测速仪。第一台雷达记录每辆车驶入公路的时刻,第二台雷达记录每辆车驶离公路的时刻。
原本只要把同一辆车的进入时刻与离开时刻对应起来,就能计算它在公路上的行驶时间,并据此判断是否超速。然而,负责整理记录的人在离职前打乱了全部数据,现在已经无法知道每个进入时刻究竟对应哪个离开时刻。
为了制定本年度的罚款预算,你需要在所有可能的合法配对方式中,求出罚款总额的最小值和最大值。
题目描述
共有 辆车。
给定两个长度均为 的数组:
enterTimes:所有车辆进入公路的时刻;exitTimes:所有车辆离开公路的时刻。
你需要在两个数组之间建立一个一一对应关系。每个进入时刻和每个离开时刻都必须恰好使用一次。
若进入时刻为 ,离开时刻为 ,则这组配对合法当且仅当
此时车辆的行驶时间为
已知超速时间标准为 speedTime:
- 若 ,该车辆没有超速,罚款为 ;
- 若 ,理论罚款为
但单辆车的罚款不能超过 fineCap。
因此,单辆车的实际罚款为
$$\min\left(\texttt{fineCap},\;(\texttt{speedTime}-T)^2\right).$$你需要求出:
- 在所有合法的一一配对中,罚款总额的最小值;
- 在所有合法的一一配对中,罚款总额的最大值。
若不存在能够使用全部进入时刻和离开时刻的合法配对,则输出 -1。
输入格式
第一行包含三个整数 、speedTime、fineCap。
第二行包含 个整数,表示数组 enterTimes。
第三行包含 个整数,表示数组 exitTimes。
输出格式
若不存在合法的一一配对,输出:
-1
否则输出两个整数,依次表示罚款总额的最小值和最大值。
数据范围
- ;
- ;
- ;
- ;
- 。
样例 1
输入
2 3 100
1 2
4 5
输出
0 1
说明
存在两种配对方式:
- 、:两辆车的行驶时间均为 秒,罚款总额为 ;
- 、:第二辆车只行驶了 秒,罚款为 。
因此最小罚款为 ,最大罚款为 。
样例 2
输入
2 100 100
2 1
60 40
输出
200 200
说明
无论如何配对,两辆车的罚款都会达到每辆车 的上限,因此总罚款始终为 。
样例 3
输入
5 1 30
1000 584 390 392 109
987 724 814 597 422
输出
-1
说明
进入时刻 不可能与任何离开时刻合法配对,因此不存在完整的一一对应关系。
样例 4
输入
5 10 50
3 6 4 2 9
4 7 5 3 9
输出
-1
样例 5
输入
6 2 99
1 2 5 6 9 10
3 4 7 8 11 12
输出
0 3
样例 6
输入
6 5 99
1 2 5 6 9 10
3 4 7 8 11 12
输出
54 60