CF1799A.Recent Actions

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Recent Actions

题目描述

在 Codeforces 上,“Recent Actions” 区域显示最近 nn 条动态的帖子。

最初,该区域中有帖子 1,2,,n1, 2, \ldots, n(从上到下排列)。此外,还有无限多个不在该区域中的帖子,编号为 n+1,n+2,n+1, n+2, \ldots

当帖子 pp 有最近动态时:

  • 如果它已经在“Recent Actions”区域中,则它会从当前位置移动到最上面。
  • 否则,它会被添加到最上面,并且最下面的帖子会被移出“Recent Actions”区域。

你知道接下来的 mm 次最近动态将会发生在帖子 p1,p2,,pmp_1, p_2, \ldots, p_m 上(n+1pin+mn+1 \leq p_i \leq n+m),发生的时间分别为 1,2,,m1, 2, \ldots, m。注意,最近动态只会发生在编号 n+1\geq n+1 的帖子上。

对于每个帖子 ii1in1 \leq i \leq n),请找出它第一次被移出“Recent Actions”区域的时间,或者说明它不会被移出。

输入格式

第一行包含一个整数 tt1t1041 \leq t \leq 10^4),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnmm1n,m51041 \leq n, m \leq 5 \cdot 10^4),分别表示“Recent Actions”区域的大小和动态的数量。

下一行包含 mm 个整数 p1,p2,,pmp_1, p_2, \ldots, p_mn+1pin+mn+1 \leq p_i \leq n+m)。

保证所有测试用例中 nn 的总和与 mm 的总和不超过 51045 \cdot 10^4

输出格式

对于每个测试用例,输出 nn 个整数 t1,t2,,tnt_1, t_2, \ldots, t_n,其中 ti=1t_i=-1 表示帖子 ii 不会被移出,否则 tit_i 表示帖子 ii 第一次被移出的时间(1tim1 \leq t_i \leq m)。

说明/提示

在第一个测试用例中,唯一的帖子 11 会在时刻 11 被移出,并被帖子 22 替换。

在第二个测试用例中,“Recent Actions”区域的变化如下(从上到下排列):

  1. 时刻 11 前为 [1,2,3][1, 2, 3],时刻 11 后为 [5,1,2][5, 1, 2]。帖子 33 被移出。
  2. 时刻 22 前为 [5,1,2][5, 1, 2],时刻 22 后为 [4,5,1][4, 5, 1]。帖子 22 被移出。

帖子 11 不会被移出。

在第三个测试用例中,“Recent Actions”区域的变化如下(从上到下排列):

  1. 时刻 11 前为 [1,2,3,4][1, 2, 3, 4],时刻 11 后为 [5,1,2,3][5, 1, 2, 3]。帖子 44 被移出。
  2. 时刻 22 前为 [5,1,2,3][5, 1, 2, 3],时刻 22 后为 [9,5,1,2][9, 5, 1, 2]。帖子 33 被移出。
  3. 时刻 33 前为 [9,5,1,2][9, 5, 1, 2],时刻 33 后为 [9,5,1,2][9, 5, 1, 2]。没有变化。
  4. 时刻 44 前为 [9,5,1,2][9, 5, 1, 2],时刻 44 后为 [5,9,1,2][5, 9, 1, 2]。顺序发生了变化。
  5. 时刻 55 前为 [5,9,1,2][5, 9, 1, 2],时刻 55 后为 [7,5,9,1][7, 5, 9, 1]。帖子 22 被移出。

帖子 11 不会被移出。

由 ChatGPT 4.1 翻译

样例

10
1 1
2
3 2
5 4
4 5
5 9 9 5 7
5 5
6 7 8 9 10
3 4
4 4 4 4
4 4
5 5 6 6
3 5
4 5 5 5 4
4 20
5 5 24 24 24 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20
5 7
7 8 7 11 7 12 10
6 7
8 11 7 8 8 8 12
1 
-1 2 1 
-1 5 2 1 
5 4 3 2 1 
-1 -1 1 
-1 -1 3 1 
-1 2 1 
8 7 3 1 
7 6 4 2 1 
-1 -1 7 3 2 1 

在线编程 IDE

建议全屏模式获得最佳体验