luogu#P10300. [THUWC 2020] 工资分配
[THUWC 2020] 工资分配
题目描述
月末,一家公司的老板给公司内的 个员工(他们被编号为 )准备了一份工资的分配方案。这份方案可以用一个长度为 的序列 表示,其中 表示第 个人的工资。现在,这份分配方案放在办公室的桌上,无人看管。
一些员工决定通过替换的方式替换掉这份工资分配方案,来使得自己获得更多的工资。于是,一些员工自己准备了一个自行伪造、不会被老板察觉的分配方案 (也是一个长度为 的序列),并选择在一个时刻潜入办公室。他会偷看当前放在办公桌上的分配方案 ,如果该员工编号为 且 ,他就会把整个分配方案替换成 。为了保证替换成功,一个员工可能会在多个时刻潜入办公室,并且可能会伪造不同的分配方案。但同一时刻最多有一个员工潜入办公室。
假设一天总共有 个时刻有员工潜入,我们将这些时刻按时间顺序从 到 编号。现在,你知道了在每个时刻 ,潜入办公室的员工 和他在 时刻伪造的分配方案 。现在给出 个询问,每次询问会给出一个老板的初始分配方案,请你计算出最后放在桌面上的分配方案。
输入格式
第一行三个整数 、、,表示时刻的个数、询问的个数和员工的个数;
接下来 行,每行 个整数 ,表示 时刻潜入的员工和他准备的分配方案;
接下来 行,每行 个整数 ,表示老板的初始分配方案。
输出格式
输出 行,每行 个整数,表示最后的方案。
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
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
提示
【子任务】
存在 20% 的数据,
存在另外 10% 的数据,;
对于所有的数据,。
【提示】
本题输入、输出规模较大,建议使用 scanf/printf
进行输入输出。如果使用 cin/cout
,建议在 main
函数开头加上 std::ios::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0);
。