邻项校准(asum)
题目描述
Y 同学有一个长度为 N 的整数序列
A=(A1,A2,…,AN),
以及一个长度为 N−1 的整数序列
B=(B1,B2,…,BN−1).
两个序列中的所有元素均位于 0 到 M−1 之间。
Y 同学可以执行任意次以下操作:
- 选择一个满足 1≤i≤N 的整数 i,将 Ai 增加 1。
Y 同学希望经过若干次操作后,对于每个 1≤i<N,均满足
(Ai+Ai+1)modM=Bi.
请你求出满足全部条件所需的最少操作次数。
可以证明,在本题给定的数据范围内,一定存在满足条件的操作方案。
输入格式
第一行包含两个整数 N,M,分别表示序列 A 的长度和模数。
第二行包含 N 个整数 A1,A2,…,AN。
第三行包含 N−1 个整数 B1,B2,…,BN−1。
输出格式
输出一行一个整数,表示满足全部条件所需的最少操作次数。
样例
样例输入 #1
3 10
4 6 7
5 5
样例输出 #1
5
样例输入 #2
2 3
1 2
2
样例输出 #2
2
样例输入 #3
10 10
0 1 2 3 4 5 6 7 8 9
9 8 7 6 5 4 3 2 1
样例输出 #3
40
数据范围与约定
对于 100% 的数据,保证:
2≤N≤2×105,
3≤M≤109,
0≤Ai<M,
0≤Bi<M.
| 测试点编号 |
分值 |
N≤ |
M≤ |
特殊性质 |
| 1∼2 |
10 |
20 |
无 |
| 3∼5 |
15 |
100 |
特殊性质 A |
| 6∼8 |
2000 |
104 |
特殊性质 B |
| 9∼12 |
20 |
2×104 |
109 |
无 |
| 13∼16 |
2×105 |
| 17∼22 |
特殊性质 A:对于每个 1≤i<N,均有 Bi=(Ai+Ai+1)modM。
特殊性质 B:对于每个 1≤i≤N,均有 Ai=0。