CF1455D.Sequence and Swaps

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You are given a sequence aa consisting of nn integers a1,a2,,ana_1, a_2, \dots, a_n , and an integer xx . Your task is to make the sequence aa sorted (it is considered sorted if the condition a1a2a3ana_1 \le a_2 \le a_3 \le \dots \le a_n holds).

To make the sequence sorted, you may perform the following operation any number of times you want (possibly zero): choose an integer ii such that 1in1 \le i \le n and ai>xa_i > x , and swap the values of aia_i and xx .

For example, if a=[0,2,3,5,4]a = [0, 2, 3, 5, 4] , x=1x = 1 , the following sequence of operations is possible:

  1. choose i=2i = 2 (it is possible since a2>xa_2 > x ), then a=[0,1,3,5,4]a = [0, 1, 3, 5, 4] , x=2x = 2 ;
  2. choose i=3i = 3 (it is possible since a3>xa_3 > x ), then a=[0,1,2,5,4]a = [0, 1, 2, 5, 4] , x=3x = 3 ;
  3. choose i=4i = 4 (it is possible since a4>xa_4 > x ), then a=[0,1,2,3,4]a = [0, 1, 2, 3, 4] , x=5x = 5 .

Calculate the minimum number of operations you have to perform so that aa becomes sorted, or report that it is impossible.

输入格式

The first line contains one integer tt ( 1t5001 \le t \le 500 ) — the number of test cases.

Each test case consists of two lines. The first line contains two integers nn and xx ( 1n5001 \le n \le 500 , 0x5000 \le x \le 500 ) — the number of elements in the sequence and the initial value of xx .

The second line contains nn integers a1a_1 , a2a_2 , ..., ana_n ( 0ai5000 \le a_i \le 500 ).

The sum of values of nn over all test cases in the input does not exceed 500500 .

输出格式

For each test case, print one integer — the minimum number of operations you have to perform to make aa sorted, or 1-1 , if it is impossible.

输入输出样例

  • 输入#1

    6
    4 1
    2 3 5 4
    5 6
    1 1 3 4 4
    1 10
    2
    2 10
    11 9
    2 10
    12 11
    5 18
    81 324 218 413 324

    输出#1

    3
    0
    0
    -1
    1
    3
首页