CF2217B.Flip the Bit (Easy Version)

入门

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

This is the easy version of the problem. The difference between the versions is that in this version, there is exactly one special index ( $ k=1 $ ). You can hack only if you solved all versions of this problem.

You are given a binary array $ a $ of length $ n $ and $ k $ special indices $ p_1, p_2, \ldots, p_k $ ( $ 1 \le p_i \le n $ ). It is given that the values $ a_i $ of all elements at special indices are the same (i. e., $ a_{p_1} = a_{p_2} = \ldots = a_{p_k} $ ).

In one operation, you can choose a range $ [l, r] $ ( $ 1 \le l \le r \le n $ ) such that the range contains at least one special index ( $ l \le p_i \le r $ ) and flip all bits $ a_j $ for $ l \le j \le r $ . Flipping a bit changes $ 0 $ to $ 1 $ and $ 1 $ to $ 0 $ .

Let $ x $ denote the value at special indices before any operations are applied. Find the minimum number of operations required to make all elements of the array equal to $ x $ .

输入格式

Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 10^4 $ ). The description of the test cases follows.

The first line of each test case contains two integers $ n $ and $ k $ ( $ 1 \le n \le 2 \cdot 10^5 $ ; $ k=1 $ ) — the length of the array and the number of special indices.

The second line contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 0 \le a_i \le 1 $ ) — the elements of the array.

The third line contains $ k $ integers $ p_1, p_2, \ldots, p_k $ ( $ 1 \le p_1 \lt p_2 \lt \ldots \lt p_k \le n $ ) — the special indices. It is guaranteed that $ a_{p_1} = a_{p_2} = \ldots = a_{p_k} $ .

It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 2 \cdot 10^5 $ .

输出格式

For each test case, output a single integer — the minimum number of operations required.

输入输出样例

  • 输入#1

    4
    3 1
    0 1 0
    2
    5 1
    1 1 1 1 1
    1
    6 1
    0 1 0 1 0 1
    3
    17 1
    0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1
    5

    输出#1

    2
    0
    4
    10

说明/提示

For the first test case, you can choose the range $ [1, 3] $ and flip all the bits to get $ [1, 0, 1] $ . Then you can choose the range $ [2, 2] $ and flip the second bit to get $ [1, 1, 1] $ .

For the second test case, all the bits already match the value at the special index. You do not need any operations.

输入解题思路,AI测评打分。不知道怎么写?

首页