#ABC232G. 取模最短路

取模最短路

取模最短路

题目描述

有一个包含 NN 个顶点的有向图,顶点分别为顶点 11、顶点 22、…\ldots、顶点 NN。

对于满足 1≤i,j≤N1 \le i, j \le N 且 i≠ji \neq j 的每一对整数,存在一条从顶点 ii 指向顶点 jj 的、权值为 (Ai+Bj) mod M(A_i + B_j) \bmod M 的有向边。(这里,x mod yx \bmod y 表示 xx 除以 yy 所得的余数。)

除此之外不存在其他边。

请输出从顶点 11 到顶点 NN 的最短距离,即从顶点 11 到顶点 NN 的路径中边权之和的最小可能值。

输入格式

输入按以下格式从标准输入给出:

NN MM
A1A_1 A2A_2 …\ldots ANA_N
B1B_1 B2B_2 …\ldots BNB_N

输出格式

输出从顶点 11 到顶点 NN 的路径中边权之和的最小可能值。

样例

4 12
10 11 6 0
8 7 4 1
3

下面,用 i→ji \rightarrow j 表示从顶点 ii 到顶点 jj 的有向边。

考虑路径 11 →\rightarrow 33 →\rightarrow 22 →\rightarrow 44。

边 1→31\rightarrow 3 的权值为 (A1+B3) mod M=(10+4) mod 12=2(A_1 + B_3) \bmod M = (10 + 4) \bmod 12 = 2,

边 3→23 \rightarrow 2 的权值为 (A3+B2) mod M=(6+7) mod 12=1(A_3 + B_2) \bmod M = (6 + 7) \bmod 12 = 1,

边 2→42\rightarrow 4 的权值为 (A2+B4) mod M=(11+1) mod 12=0(A_2 + B_4) \bmod M = (11 + 1) \bmod 12 = 0。

因此,该路径的边权之和为 2+1+0=32 + 1 + 0 = 3。

这是从顶点 11 到顶点 NN 的路径中边权之和的最小可能值。

10 1000
785 934 671 520 794 168 586 667 411 332
363 763 40 425 524 311 139 875 548 198
462

数据范围

  • 2≤N≤2×1052 \le N \le 2 \times 10^5
  • 2≤M≤1092 \le M \le 10^9
  • 0≤Ai,Bj<M0 \le A_i, B_j \lt M
  • 输入均为整数
难度 省选/NOI-
通过率 —
尝试 0
通过 0
ID
2350
类型
传统题
Time Limit
3000ms
Memory Limit
1024MiB
上传者
标签