CF799B T-shirt buying
题目描述
有一家店新到了一批 $n$ 件 T 恤。每件 T 恤有三个整数参数 $p_{i}$、$a_{i}$ 和 $b_{i}$,其中 $p_{i}$ 表示第 $i$ 件 T 恤的价格,$a_{i}$ 表示第 $i$ 件 T 恤的正面颜色,$b_{i}$ 表示第 $i$ 件 T 恤的背面颜色。所有 $p_{i}$ 互不相同,$a_{i}$ 和 $b_{i}$ 的取值范围为 $1$ 到 $3$ 的整数。
接下来会有 $m$ 个顾客进店。每个顾客只会买一件 T 恤。对于第 $j$ 个顾客,已知其最喜欢的颜色为 $c_{j}$。
顾客同意购买一件 T 恤,当且仅当该 T 恤的正面或背面(至少一面)为他喜欢的颜色。在所有他可接受的 T 恤中,他会选择价格最低的一件。如果没有可选的 T 恤,该顾客不会购买任何东西。假设所有顾客按照输入顺序依次进入商店,每位顾客在上一位顾客完成挑选后才被服务。
请你计算每位顾客最终购买 T 恤所需支付的价格。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 200000$),代表 T 恤数量。
第二行包含 $n$ 个整数 $p_{1},p_{2},...,p_{n}$($1 \leq p_{i} \leq 1000000000$),表示每件 T 恤的价格。
第三行包含 $n$ 个整数 $a_{1},a_{2},...,a_{n}$($1 \leq a_{i} \leq 3$),表示每件 T 恤的正面颜色。
第四行包含 $n$ 个整数 $b_{1},b_{2},...,b_{n}$($1 \leq b_{i} \leq 3$),表示每件 T 恤的背面颜色。
第五行包含一个整数 $m$($1 \leq m \leq 200000$),表示顾客数量。
第六行包含 $m$ 个整数 $c_{1},c_{2},...,c_{m}$($1 \leq c_{j} \leq 3$),表示每位顾客喜欢的颜色。顾客将按照输入顺序依次进入商店,每位顾客均在上一个顾客挑选完毕后被服务。
输出格式
输出一行共 $m$ 个整数,第 $j$ 个数表示第 $j$ 位顾客所购买 T 恤的价格。如果该顾客未能买到 T 恤,则输出 $-1$。
说明/提示
由 ChatGPT 5 翻译