CF1455D.Sequence and Swaps
普及/提高-
通过率:0%
时间限制:1.50s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a sequence a consisting of n integers a1,a2,…,an, and an integer x. Your task is to make the sequence a sorted (it is considered sorted if the condition a1≤a2≤a3≤⋯≤an holds).
To make the sequence sorted, you may perform the following operation any number of times you want (possibly zero): choose an integer i such that 1≤i≤n and ai>x, and swap the values of ai and x.
For example, if a=[0,2,3,5,4], x=1, the following sequence of operations is possible:
- choose i=2 (it is possible since a2>x), then a=[0,1,3,5,4], x=2;
- choose i=3 (it is possible since a3>x), then a=[0,1,2,5,4], x=3;
- choose i=4 (it is possible since a4>x), then a=[0,1,2,3,4], x=5.
Calculate the minimum number of operations you have to perform so that a becomes sorted, or report that it is impossible.
给你一个由 n 个整数 a1,a2,…,an 构成的序列 a,以及一个整数 x。你的任务是使序列 a 变为非递减序列(即满足 a1≤a2≤a3≤⋯≤an)。
为使序列 a 有序,你可以执行以下操作任意多次(包括零次):选择一个下标 i,满足 1≤i≤n 且 ai>x,然后交换 ai 与 x 的值。
例如,若 a=[0,2,3,5,4],x=1,则以下操作序列是可行的:
- 选择 i=2(可行,因为 a2>x),得到 a=[0,1,3,5,4],x=2;
- 选择 i=3(可行,因为 a3>x),得到 a=[0,1,2,5,4],x=3;
- 选择 i=4(可行,因为 a4>x),得到 a=[0,1,2,3,4],x=5。
请计算使 a 变为有序所需的最少操作次数;若不可能实现,则报告该情况。
输入格式
The first line contains one integer t (1≤t≤500) — the number of test cases.
Each test case consists of two lines. The first line contains two integers n and x (1≤n≤500, 0≤x≤500) — the number of elements in the sequence and the initial value of x.
The second line contains n integers a1, a2, ..., an (0≤ai≤500).
The sum of values of n over all test cases in the input does not exceed 500.
第一行包含一个整数 t(1≤t≤500)—— 测试用例的数量。
每个测试用例由两行组成。第一行包含两个整数 n 和 x(1≤n≤500,0≤x≤500)—— 序列中元素的个数以及 x 的初始值。
第二行包含 n 个整数 a1, a2, ..., an(0≤ai≤500)。
输入中所有测试用例的 n 值之和不超过 500。
输出格式
For each test case, print one integer — the minimum number of operations you have to perform to make a sorted, or −1, if it is impossible.
对于每个测试用例,输出一个整数——使 a 变为有序所需的最少操作次数;如果不可能,则输出 −1。
输入输出样例
输入#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
输入解题思路,AI测评打分。不知道怎么写?