#4275. ±1操作2(±1Operation2)

    ID: 4275 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>其他排序基础语法一维前缀和二分查找二分前缀和ABC

±1操作2(±1Operation2)

题目描述

小高有一个长度为 NN 的序列 A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N)。以下操作被称为"操作":

  1. 首先,选择一个整数 ii,使得 1iN1 \le i \le N

  2. 然后,选择并执行以下操作之一:

    • AiA_i 加 1。
    • AiA_i 减 1。

现在,小高有 QQ 个问题需要回答。

ii 个问题是:考虑执行零次或多次操作,将 AA 的每个元素都变为 XiX_i。求完成这个任务所需的最少操作次数。

输入格式

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

NN QQ

A1A_1 A2A_2 \ldots ANA_N

X1X_1

X2X_2

\vdots

XQX_Q

输出格式

输出 QQ 行。第 ii 行应包含第 ii 个问题的答案,以整数形式表示。

样例

5 3
6 11 2 5 5
5
20
0
10
71
29
10 5
1000000000 314159265 271828182 141421356 161803398 0 777777777 255255255 536870912 998244353
555555555
321654987
1000000000
789456123
0
3316905982
2811735560
5542639502
4275864946
4457360498

样例1解释

我们有 A=(6,11,2,5,5)A=(6,11,2,5,5) 和三个问题。

对于第 1 个问题,你可以通过 10 次操作将 AA 的每个元素变为 5,如下所示:

  • A1A_1 减去 1。
  • A2A_2 减去 1 六次。
  • A3A_3 加上 1 三次。

不可能用 9 次或更少的操作将 AA 的每个元素变为 5。

对于第 2 个问题,你可以通过 71 次操作将 AA 的每个元素变为 20。

对于第 3 个问题,你可以通过 29 次操作将 AA 的每个元素变为 0。

数据范围

  • 1N,Q2×1051 \le N,Q \le 2 \times 10^5
  • 0Ai,Xi1090 \le A_i,X_i \le 10^9
  • 所有输入都是整数。

来源

  • AtCoder ABC255D