AT_arc214_e [ARC214E] Swap K times

题目描述

给定长度为 $N$ 的整数序列 $A = (A_1, \dots, A_N)$ 和 $B = (B_1, \dots, B_N)$,以及一个正整数 $K$。 每次支付 $1$ 的代价,你可以**恰好进行 $K$ 次相邻元素交换**。一次相邻元素交换指的是: - 选择一个整数 $i$,$1 \leq i \leq N-1$,交换 $A_i$ 和 $A_{i+1}$。 请你判断是否有可能通过若干次该操作使得 $A$ 变为 $B$。如果可以,请你计算使 $A$ 与 $B$ 相同所需的最小代价。 共给出 $T$ 组测试数据,请你输出每组的答案。

输入格式

输入格式如下: > $T$ > $\text{case}_1$ > $\text{case}_2$ > $\vdots$ > $\text{case}_T$ 每组测试数据格式如下: > $N$ $K$ $A_1$ $A_2$ $\ldots$ $A_N$ $B_1$ $B_2$ $\ldots$ $B_N$

输出格式

输出 $T$ 行。 第 $i$ 行输出第 $i$ 组测试数据的答案:如果可以使 $A$ 变为 $B$,请输出所需的最小代价;否则输出 $-1$。

说明/提示

### 样例说明 1 对于第一组数据,可以通过如下操作以代价 $2$ 使 $A$ 变为 $B$: 1. 支付 $1$ 的代价,依次选择 $i$ 为 $3, 1, 4, 1$ 进行相邻交换,此时 $A = (3,1,1,5,4)$。 2. 再支付 $1$ 的代价,依次选择 $i$ 为 $3,1,2,1$,此后 $A = (5,1,3,1,4)$。 对于第二组数据,无论进行多少次操作,都无法使 $A$ 变为 $B$。 ### 数据范围 - $1 \leq T \leq 10^5$ - $2 \leq N \leq 3 \times 10^5$ - $1 \leq K \leq 10^9$ - $1 \leq A_i, B_i \leq N$ - $\{A_1, \dots, A_N\}$ 与 $\{B_1, \dots, B_N\}$ 作为多重集合完全一致。 - 所有测试数据中 $N$ 的总和不超过 $3 \times 10^5$。 - 所有输入均为整数。 由 ChatGPT 5 翻译