SP26772 ANGRMTST - Lets Be An Anagrammatist

题目描述

你知道什么是变位词吗?**变位词是指通过重新排列单词中的字母形成的新单词。**例如,“CODEMASK”的一个变位词可以是“DEMOCSAK”。我们可以为一个单词找到多种变位词。 现在,给定两个数组 $S$ 和 $T$,你需要在 $S$ 中找到一个**字典序最小**且是 $T$ 变位词的连续子序列。 对于两个长度相同的序列 $A$ 和 $B$,如果存在索引 $i$($1 \leq i \leq \text{length}(A)$),使得 $A[i] < B[i]$,并且对于所有的 $j$ 满足 $1 \leq j < i$ 时都有 $A[j] = B[j]$,那么我们说 $A$ 的字典序小于 $B$。

输入格式

第一行为一个整数 $Ts$,表示测试用例的数量。 每个测试用例包含三行。第一行包括两个整数 $N$ 和 $M$,表示数组 $S$ 和 $T$ 的长度。 第二行包含 $N$ 个整数,表示数组 $S$。第三行由 $M$ 个整数构成,表示数组 $T$。

输出格式

首先输出测试用例的编号,然后在同一行输出 $S$ 中的字典序最小且是 $T$ 变位词的连续子序列的起始位置(从 1 开始计数)。如果有多个答案,输出最小的索引。如果在 $S$ 中找不到 $T$ 的变位词,输出 0。

说明/提示

- $1 \leq Ts \leq 20$ - $1 \leq N, M \leq 200000$ - $1 \leq S[i], T[i] \leq 200000$ **本翻译由 AI 自动生成**