CF2244D Yaroslav and Productivity
题目描述
Yaroslav 一天中的工作效率由一个长度为 $n$ 的数组 $a$ 描述。他的效率可能为负数(当他刷短视频时),也可能为正数(当他工作时)。总效率被定义为该数组所有值的和。
有时 Yaroslav 会阅读激励帖子。他有 $m$ 个帖子,第 $j$ 个帖子的影响值为 $b_j$。如果 Yaroslav 阅读了影响值为 $b_j$ 的帖子,则从一天开始到第 $b_j$ 个位置为止的所有效率值都改变符号,即所有 $a_1, a_2, a_3, \dots, a_{b_j}$ 都乘以 $-1$。
例如,设 $a=[1, -4, 3, -4]$,Yaroslav 阅读了影响值为 $3$ 的帖子。此时前三个元素的符号翻转,数组变为 $[-1, 4, -3, -4]$。如果他再阅读一个影响值为 $1$ 的帖子,第一个元素的符号再次翻转,数组变为 $[1, 4, -3, -4]$。
请问 Yaroslav 通过阅读任意数量(也可以不读)这些帖子后,最多能达到多少总效率?
输入格式
第一行为一个整数 $t$($1 \le t \le 10^4$),表示测试用例组数。
每组测试用例的第一行为两个整数 $n$ 和 $m$($1 \le m \le n \le 2 \cdot 10^5$),分别表示效率测量的数量和激励帖子的数量。
每组测试用例的第二行为 $n$ 个整数 $a_i$($-10^9 \le a_i \le 10^9$),表示效率值。
每组测试用例的第三行为 $m$ 个整数 $b_i$($1 \le b_i \le n$),表示帖子影响值。保证所有 $b_i$ 互不相同。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
每个测试用例输出一行一个整数,表示可能获得的最大总效率。
说明/提示
由 ChatGPT 5 翻译