Battle Cows
Contest: Codeforces Global Round 25
Difficulty rating: 1200
Tags: binary search, data structures, greedy

There are $$$n$$$ cows participating in a coding tournament. Cow $$$i$$$ has a Cowdeforces rating of $$$a_i$$$ (all distinct), and is initially in position $$$i$$$. The tournament consists of $$$n-1$$$ matches as follows:

- The first match is between the cow in position $$$1$$$ and the cow in position $$$2$$$.
- Subsequently, each match $$$i$$$ is between the cow in position $$$i+1$$$ and the winner of match $$$i-1$$$.
- In each match, the cow with the higher Cowdeforces rating wins and proceeds to the next match.

You are the owner of cow $$$k$$$. For you, winning the tournament is not important; rather, you want your cow to win in as many matches as possible. As an acquaintance of the tournament organizers, you can ask them to swap the position of your cow with another cow only once, or you can choose to do nothing.

Find the maximum number of wins your cow can achieve.

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

The first line of each test case contains two integers $$$n$$$ and $$$k$$$ ($$$2 \le n \le 10^5, 1 \le k \le n$$$) — the number of cows and your cow's index.

The second line of each test case contains $$$n$$$ integers $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — the Cowdeforces rating of the cows. It is guaranteed that $$$a_i$$$'s are pairwise different.

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

Output format:
For each test case, print one integer: the maximum number of wins cow $$$k$$$ can achieve if you choose to swap (or do nothing) optimally.

Constraints:
Time limit: 1.0 s
Memory limit: 256.0 MB

Note:
In the first test case, it is optimal to do nothing. Let $$$a'$$$ be the Cowdeforces rating of the cows in the original order (with your cow's rating bolded), then

- Initially, $$$a' = [\mathbf{12}, 10, 14, 11, 8, 3]$$$.
- Your cow plays against the cow with Cowdeforces rating $$$10$$$ and wins. $$$a' = [\mathbf{12}, 14, 11, 8, 3]$$$.
- Your cow plays against the cow with Cowdeforces rating $$$14$$$ and loses.

In the second test case, it is optimal to swap your cow to position $$$3$$$. Then, let $$$a'$$$ be the Cowdeforces rating of the cows in the order after the swap.

- Initially, $$$a' = [7, 2, \mathbf{12}, 10, 727, 13]$$$.
- The cow with Cowdeforces rating $$$7$$$ plays against the cow with Cowdeforces rating $$$2$$$ and wins. $$$a' = [7, \mathbf{12}, 10, 727, 13]$$$.
- The cow with Cowdeforces rating $$$7$$$ plays against your cow, and your cow wins. $$$a' = [\mathbf{12}, 10, 727, 13]$$$.
- Your cow plays against the cow with Cowdeforces rating $$$10$$$ and wins. $$$a' = [\mathbf{12}, 727, 13]$$$.
- Your cow plays against the cow with Cowdeforces rating $$$727$$$ and loses.

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

Example output:
1
2
0

Editorial:
It is easy to note that the $$$i$$$-th match is between cow $$$i+1$$$ and the strongest cow among cows $$$1, 2, \cdots, i$$$. Therefore, in order to win any match at all, you cow have to be stronger than every cow before her (and cow $$$2$$$ if your cow is cow $$$1$$$). Consider the following cases:
• There exists no stronger cow before your cow. Then you should maximize the number of wins by swapping your cow with cow $$$1$$$.
• There exists some stronger cows before your cow. Let $$$i$$$ be the first such cow. Obviously you want cow $$$i$$$ to end up to the right of your cow. There are two ways to achieve this:   Swap your cow before cow $$$i$$$. Since your cow will lose to cow $$$i$$$ anyway, you should maximize the number of wins by swapping with cow $$$1$$$.  Swap your cow with cow $$$i$$$.
• Swap your cow before cow $$$i$$$. Since your cow will lose to cow $$$i$$$ anyway, you should maximize the number of wins by swapping with cow $$$1$$$.
• Swap your cow with cow $$$i$$$.
The answer for the problem is the maximum among all above candidates. Since there are only $$$2$$$ of them, the overall time complexity is $$$O(n)$$$.