问题描述
给定一个有 N 个顶点的有向图,顶点称为 Vertex 1, Vertex 2, ..., Vertex N。
对于每一对整数 1≤i,j≤N 且 i=j,从 Vertex i 到 Vertex j 有一条带权重的有向边,其权重为 (Ai+Bj)modM。(这里,xmody 表示将 x 除以 y 的余数。)
除了上述边之外,没有其他边。
输出从 Vertex 1 到 Vertex N 的最短距离,即从 Vertex 1 到 Vertex N 的路径中边的总权重的最小可能值。
约束条件
- 2≤N≤2×105
- 2≤M≤109
- 0≤Ai,Bj<M
- 输入中的所有值都是整数。
输入
输入的格式如下:
N M
A1 A2 … AN
B1 B2 … BN
输出
输出从 Vertex 1 到 Vertex N 的路径中边的总权重的最小可能值。
示例输入 1
4 12
10 11 6 0
8 7 4 1
示例输出 1
3
下面,i→j 表示从 Vertex i 到 Vertex j 的有向边。
我们考虑路径 1 → 3 → 2 → 4。
- 边 1→3 的权重为 (A1+B3)modM=(10+4)mod12=2,
- 边 3→2 的权重为 (A3+B2)modM=(6+7)mod12=1,
- 边 2→4 的权重为 (A2+B4)modM=(11+1)mod12=0。
因此,这条路径上所有边的总权重为 2+1+0=3。
这是从 Vertex 1 到 Vertex N 的路径中可能的最小总和。
示例输入 2
10 1000
785 934 671 520 794 168 586 667 411 332
363 763 40 425 524 311 139 875 548 198
示例输出 2
462