CF1951B Battle Cows

题目描述

有 $ n $ 头奶牛参加编程比赛。奶牛 $ i $ 的 Cowdeforces 评级为 $ a_i $(奶牛们的评级全部不同)。它们最初处于 $ i $ 的位置。比赛由 $ n-1 $ 个比赛组成,规则如下所示: - 第一场比赛是在位置 $ 1 $ 的奶牛和位置 $ 2 $ 的奶牛之间。 - 随后,每场比赛 $ i $ 在位置 $ i+1 $ 的奶牛和比赛 $ i-1 $ 的获胜者之间。 - 在每场比赛中,Cowdeforces 评级较高的奶牛获胜并进入下一场比赛。 你是奶牛 $ k $ 的主人。对你来说,赢得比赛并不重要。你希望你的奶牛在尽可能多的比赛中获胜。作为比赛组织者的熟人,你可以要求他们将你的奶牛与另一头奶牛交换一次位置,或者什么都不做。请问你的奶牛最多胜利几场?

输入格式

**每个测试点都包含多组数据**。第一行为数据组数 $ t $ ( $ 1 \le t \le 10^4 $ )。 每组数据的第一行包含两个整数 $ n $ 和 $ k $ 表示奶牛的数量和你的奶牛的位置( $ 2 \le n \le 10^5, 1 \le k \le n $ )。 第二行包含 $ n $ 个整数 $ a_1,a_2,\ldots,a_n $ 表示奶牛的 Cowdeforces 评级( $ 1 \le a_i \le 10^9 $ )。保证 $ a_i $ 与 $ a_{i+1} $ 不同。 保证所有数据的 $ n $ 之和不超过 $ 10^5 $ 。

输出格式

对于每组数据,输出一个整数,表示奶牛 $ k $ 可以达到的最多胜利次数。

说明/提示

在第一组数据中,应该什么都不做。设 $ a' $ 是原始顺序中奶牛的 Cowdeforces 评级(你的奶牛评级会加粗)。 - 最初,$ a' = [\mathbf{12}, 10, 14, 11, 8, 3] $ 。 - 你的奶牛与 Cowdeforces 评级为 $ 10 $ 的奶牛对战并获胜。现在 $ a' = [\mathbf{12}, 14, 11, 8, 3] $ 。 - 你的奶牛与 Cowdeforces 评级为 $14$ 的奶牛对战,输掉了比赛。 你的奶牛赢得了 $ 1 $ 场比赛。在第二组数据中,应该将奶牛交换到位置 $ 3 $ 。然后,设 $ a' $ 是交换后顺序中奶牛的 Cowdeforces 评级。 - 最初,$ a' = [7, 2, \mathbf{12}, 10, 727, 13] $ . - Cowdeforces 评级为 $ 7 $ 的奶牛与Cowdeforces评级为 $ 2 $ 的奶牛对战并获胜。现在 $ a' = [7, \mathbf{12}, 10, 727, 13] $ . - Cowdeforces 评级为 $ 7 $ 的奶牛与你的奶牛对战,你的奶牛获胜。$ a' = [\mathbf{12}, 10, 727, 13] $ . - 你的奶牛与 Cowdeforces 评级为 $ 10 $ 的奶牛对战并获胜。现在 $ a' = [\mathbf{12}, 727, 13] $ . - 你的奶牛与 Cowdeforces 评级为 $727$ 的奶牛对战,输掉了比赛。 你的奶牛赢得了 $ 2 $ 场比赛。