#abc467c. 相邻和(简单版)(Adjacent Sums (easy))

相邻和(简单版)(Adjacent Sums (easy))

相邻和(简单版)(Adjacent Sums (easy))

题目描述

给定由 0 以上 M−1 以下的整数构成的整数列 A=(A₁,A₂,…,A_N)、B=(B₁,B₂,…,B_{N−1})。A、B 的长度分别为 N、N−1。

可以对 A 进行任意次以下操作:

  • 选择一个满足 1≤i≤N 的整数 i,将 A_i 加 1。

求使以下条件成立所需的最小操作次数(可以证明在本题约束下条件一定能满足):

  • 对 i=1,2,…,N−1,A_i+A_{i+1} 除以 M 的余数等于 B_i。

本题约束下固定 M=2。

输入格式

N M
A1 A2 … AN
B1 B2 … BN−1

输出格式

一行输出答案。

样例输入 #1

3 2
1 1 1
1 1

样例输出 #1

1

第 1 次操作选择 i=2,得到 A=(1,2,1)。此时 A₁+A₂=3、A₂+A₃=3,满足条件。而 A=(1,1,1) 不满足条件,故答案为 1。

样例输入 #2

2 2
1 1
0

样例输出 #2

0

样例输入 #3

10 2
0 0 0 1 1 0 1 0 1 0
0 1 0 1 0 1 0 1 0

样例输出 #3

4

数据范围

  • 2 ≤ N ≤ 2×10⁵
  • M = 2
  • 0 ≤ A_i ≤ M−1
  • 0 ≤ B_i ≤ M−1
  • 输入值均为整数

知识点与难度

本题涉及的知识点从属于 GESP 3级,难度等级:⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 N≤10 / 特殊: 全0 / 特殊: 全1 / 特殊: 交替
2 15 9~11 Hack: N=2 / Hack: 全1需翻转 / Hack: 长交替
3 30 12~20 中规模 N≈1e3 / 大规模 N≈2e5 压力
4 25 21~25 随机 N=1~2e5 回归