题目描述
有 N 个站在数轴上的人,他们的初始位置分别为 a1,a2,…,aN,他们可以以 1 个单位长度每秒的速度移动。
因为众所周知的原因,他们需要保持社交距离,也就是说在任两个人之间距离至少为 D。
Alenka 设计了一个 app 来快速求出这 N 个人通过移动来保持社交距离的最小时间,现在她想要添加一个新功能:支持动态加入一个位置为 bi 的人。
你需要实现一个程序完成这个功能。
输入格式
第一行三个整数 N,M,D。
接下来一行 N 个整数 a1,…,aN,表示初始的 N 个人。
接下来一行 M 个整数 b1,…,bM,表示顺次加入的 M 个人。
输出格式
输出一行 M 个数,第 i 个数表示加入第 i 个人之后所花费的最小时间,你需要输出这个时间的精确值,不含末尾多余的 0。
2 1 2
1 3
2
1
0 5 3
1 2 3 4 5
0 1 2 3 4
3 3 3
3 3 3
3 3 3
4.5 6 7.5
提示
样例 2 解释

数据规模与约定
对于全部数据,1≤D,a1,…,aN,b1,…,bM≤109。
| Subtask 编号 |
特殊限制 |
分数 |
| 1 |
0≤N≤2000,1≤M≤10 |
10 |
| 2 |
0≤N≤2×105,1≤M≤10 |
14 |
| 3 |
N=0,1≤M≤2×105,b1≤⋯≤bM |
35 |
| 4 |
N=0,1≤M≤2×105 |
41 |