[THUWC 2020] 工资分配

Luogu
IDLGP10300
Time3000ms
Memory512MB
DifficultyP4
2020O2优化THUWC
月末,一家公司的老板给公司内的 $k$ 个员工(他们被编号为 $1\sim k$)准备了一份工资的分配方案。这份方案可以用一个长度为 $k$ 的序列 $a$ 表示,其中 $a_i$ 表示第 $i$ 个人的工资。现在,这份分配方案放在办公室的桌上,无人看管。 一些员工决定通过替换的方式替换掉这份工资分配方案,来使得自己获得更多的工资。于是,一些员工自己准备了一个自行伪造、不会被老板察觉的分配方案 $b$(也是一个长度为 $k$ 的序列),并选择在一个时刻潜入办公室。他会偷看**当前**放在办公桌上的分配方案 $a^{'}$,如果该员工编号为 $i$ 且 $b_i > a^{'}_ i$,他就会把**整个分配方案**替换成 $b$。为了保证替换成功,一个员工可能会在多个时刻潜入办公室,并且可能会伪造不同的分配方案。但同一时刻最多有一个员工潜入办公室。 假设一天总共有 $n$ 个时刻有员工潜入,我们将这些时刻按时间顺序从 $1$ 到 $n$ 编号。现在,你知道了在每个时刻 $t$,潜入办公室的员工 $p_t$ 和他在 $t$ 时刻伪造的分配方案 $b_t$。现在给出 $q$ 个询问,每次询问会给出一个老板的初始分配方案,请你计算出最后放在桌面上的分配方案。 ## Input 第一行三个整数 $n$、$q$、$k$,表示时刻的个数、询问的个数和员工的个数; 接下来 $n$ 行,每行 $k+1$ 个整数 $p_t, b_{t,1},\cdots, b_{t_k}$,表示 $t$ 时刻潜入的员工和他准备的分配方案; 接下来 $q$ 行,每行 $k$ 个整数 $a_1, \cdots, a_k$,表示老板的初始分配方案。 ## Output 输出 $q$ 行,每行 $k$ 个整数,表示最后的方案。 [samples] ## Note **【子任务】** 存在 20% 的数据,$n,q\le 1,000$ 存在另外 10% 的数据,$k=1$; 对于所有的数据,$n,q\le 10^5, k\le 20$。 **【提示】** 本题输入、输出规模较大,建议使用 `scanf/printf` 进行输入输出。如果使用 `cin/cout`,建议在 `main` 函数开头加上 `std::ios::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0);`。
Samples
Input #1
5 10 3
1 7 2 5
2 1 4 10
3 2 6 3
1 8 1 4
2 7 3 5
4 7 8
2 2 6
9 10 6
9 3 4
8 1 6
10 6 10
4 9 2
4 1 10
7 7 8
10 3 2
Output #1
7 3 5
7 3 5
9 10 6
7 3 5
7 3 5
10 6 10
7 3 5
7 3 5
7 3 5
7 3 5
API Response (JSON)
{
  "problem": {
    "name": "[THUWC 2020] 工资分配",
    "description": {
      "content": "月末,一家公司的老板给公司内的 $k$ 个员工(他们被编号为 $1\\sim k$)准备了一份工资的分配方案。这份方案可以用一个长度为 $k$ 的序列 $a$ 表示,其中 $a_i$ 表示第 $i$ 个人的工资。现在,这份分配方案放在办公室的桌上,无人看管。 一些员工决定通过替换的方式替换掉这份工资分配方案,来使得自己获得更多的工资。于是,一些员工自己准备了一个自行伪造、不会被老板察觉的分配方案 ",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 3000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P4"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP10300"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "月末,一家公司的老板给公司内的 $k$ 个员工(他们被编号为 $1\\sim k$)准备了一份工资的分配方案。这份方案可以用一个长度为 $k$ 的序列 $a$ 表示,其中 $a_i$ 表示第 $i$ 个人的工资。现在,这份分配方案放在办公室的桌上,无人看管。\n\n一些员工决定通过替换的方式替换掉这份工资分配方案,来使得自己获得更多的工资。于是,一些员工自己准备了一个自行伪造、不会被老板察觉的分配方案 ...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments