CF1951B.Battle Cows

普及-

通过率:0%

AC君温馨提醒

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

题目描述

有 $ 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 $ 可以达到的最多胜利次数。

输入输出样例

  • 输入#1

    3
    6 1
    12 10 14 11 8 3
    6 5
    7 2 727 10 12 13
    2 2
    1000000000 1

    输出#1

    1
    2
    0

说明/提示

在第一组数据中,应该什么都不做。设 $ a' $ 是原始顺序中奶牛的 Cowdeforces 评级(你的奶牛评级会加粗)。

  • 最初,$ a' = [\mathbf{12}, 10, 14, 11, 8, 3] $ 。
  • 你的奶牛与 Cowdeforces 评级为 $ 10 $ 的奶牛对战并获胜。现在 $ a' = [\mathbf{12}, 14, 11, 8, 3] $ 。
  • 你的奶牛与 Cowdeforces 评级为 1414 的奶牛对战,输掉了比赛。

你的奶牛赢得了 $ 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 评级为 727727 的奶牛对战,输掉了比赛。

你的奶牛赢得了 $ 2 $ 场比赛。

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

首页