{"problem":{"name":"[语言月赛 202408] 保持连接的方式","description":{"content":"风有一只小木箱，内部被划分为了 $n$ 行 $m$ 列的小格子，第 $i$ 行第 $j$ 列的小格子用 $(i,j)$ 表示。风将日记放在小木箱中。每一个小格子可以堆叠的放下至多 $k$ 份日记。风每次只能从小格子的最顶部取出日记，放入日记时，会放在某一个小格子的最顶端。 如果风希望取出被压在下面的日记，他需要先将上面的日记取出，再逐个放回。例如，某个小格子从底部至顶部，依次有编号为 $1,2,","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":2000,"memory_limit":524288},"difficulty":{"LuoguStyle":"P2"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGB4024"},"statements":[{"statement_type":"Markdown","content":"风有一只小木箱，内部被划分为了 $n$ 行 $m$ 列的小格子，第 $i$ 行第 $j$ 列的小格子用 $(i,j)$ 表示。风将日记放在小木箱中。每一个小格子可以堆叠的放下至多 $k$ 份日记。风每次只能从小格子的最顶部取出日记，放入日记时，会放在某一个小格子的最顶端。\n\n如果风希望取出被压在下面的日记，他需要先将上面的日记取出，再逐个放回。例如，某个小格子从底部至顶部，依次有编号为 $1,2,3,4,5$ 的五份日记，风希望取出编号为 $3$ 的日记，需要先依次取出编号为 $5,4$ 的两份日记，拿走编号为 $3$ 的日记后，再按照 $4,5$ 的顺序放回。我们称移走 $3$ 号日记需要移动 $2$ 份日记。\n\n在接下来的 $t$ 天，风每一天都会写日记，第 $i$ 天撰写的日记编号为 $a_i$，将存放在 $(x_i,y_i)$ 中。如果 $(x_i,y_i)$ 已满，风需要从 $(x_i,y_i)$ 中先取走编号最小的日记并销毁，销毁后，将新的日记存放在 $(x_i,y_i)$ 顶部。如果存在多份编号最小的日记，销毁最靠上的一份。请问，每一天，风是否需要销毁日记？若需要，需要移动几份日记？\n\n## Input\n\n第一行为四个正整数 $n,m,k,t$。\n\n接下来 $t$ 行，每行三个正整数，第 $i$ 行为 $a_i,x_i,y_i$，表示第 $i$ 天日记编号为 $a_i$，存放在 $(x_i,y_i)$。\n\n## Output\n\n输出 $t$ 行，每行一或两个整数，对于第 $i$ 行：\n\n- 若第 $i$ 天不需要销毁日记，输出一行一个整数 $-1$\n- 若第 $i$ 天需要销毁日记，输出一行两个整数，由空格隔开，分别表示销毁的日记编号和需要移动的日记份数\n\n[samples]\n\n## Background\n\n> 时光荏苒，小 S 和小 Y 也会散去。  \n> 而我们和一个人保持连接的方式就是记住，仅此而已。  \n> —— [[NOI 2024] 集合](https://www.luogu.com.cn/problem/P10785)\n>\n> 风将这句话写在纸上，折成了纸飞机，扔出窗外。  \n> 纸飞机飞吧，飞向天空。\n>\n> 以此铭记。\n\n## Note\n\n对于 $30\\%$ 的测试数据，$n=m=1$；  \n对于另外 $30\\%$ 的测试数据，$k=1$；  \n对于 $100\\%$ 的测试数据，$1 \\le n,m \\le 100$，$1 \\le k \\le 50$，$1 \\le t \\le 2 \\times 10^5$，$1 \\le a_i \\le 10^9$，$1 \\le x_i \\le n$，$1 \\le y_i \\le m$。","is_translate":false,"language":"English"}],"meta":{"iden":"LGB4024","tags":["2024","数组","语言月赛"],"sample_group":[["2 2 3 5\n3 1 1\n4 1 1\n2 1 1\n5 1 1\n1 1 1","-1\n-1\n-1\n2 0\n3 2"]],"created_at":"2026-03-03 11:09:25"}}