CF749D Leaving Auction
题目描述
今天有 $n$ 个人参加拍卖。拍卖规则是经典的。总共进行了 $n$ 次出价,注意出价的人不一定都不同,可能有的人一次都没有出价。
每一次出价由两个整数 $(a_{i}, b_{i})$ 表示,其中 $a_{i}$ 表示第 $i$ 次出价的人编号,$b_{i}$ 表示这次出价的金额。所有出价按时间顺序给出,即对于所有 $i < n$,都有 $b_{i} < b_{i+1}$。此外,每个参与者不会连续两次出价(即不会连续两次更新自己的出价),也就是对于所有 $i < n$,都有 $a_{i} \ne a_{i+1}$。
现在你对以下问题很感兴趣:如果某些人缺席,谁(以及他出的哪一次价)将赢得拍卖?认为如果某些人缺席,那么所有与他们相关的出价都被移除,没有任何新的出价被添加。
注意,如果在这种“想象删除”后,剩下的人有人连续两次或以上出价,那么只计算第一次出价,其余的被忽略。为了更好地理解,请参见样例。
你有若干个类似的问题,请你计算每个问题的答案。
输入格式
输入的第一行包含一个整数 $n$($1 \le n \le 200000$),表示参与者和出价的数量。
接下来的 $n$ 行,每行包含两个整数 $a_{i}$ 和 $b_{i}$($1 \le a_{i} \le n$,$1 \le b_{i} \le 10^9$,$b_{i} < b_{i+1}$),分别表示第 $i$ 次出价的人编号和他的出价金额。
下一行包含一个整数 $q$($1 \le q \le 200000$),表示你有多少个问题。
接下来的 $q$ 行,每行以一个整数 $k$ 开始($1 \le k \le n$),随后是 $k$ 个不同的整数 $l_j$($1 \le l_j \le n$),表示在本次问题中缺席的人的编号。这些编号在同一个查询中保证互不相同。
保证所有问题中 $k$ 的总和不超过 $200000$。
输出格式
对于每个问题,输出两个整数,分别表示获胜者的编号和其获胜的出价金额。如果没有任何人参与(也就是没有剩下的出价),输出两个零。
说明/提示
以第一个样例为例:
- 第一个问题中编号为 $3$ 的参与者缺席,剩下的出价为:
1. $1$ $10$
2. $2$ $100$
3. $1$ $10000$
4. $2$ $100000$
最终 $2$ 号以 $100000$ 获胜。
- 第二个问题中 $2$ 和 $3$ 缺席,剩下的出价为:
1. $1$ $10$
2. $1$ $10000$
获胜者是 $1$,但由于不能连续两次出价,只计算第一次出价,所以获胜金额是 $10$。
- 第三个问题中 $1$ 和 $2$ 缺席,剩下的出价为:
1. $3$ $1000$
2. $3$ $1000000$
最终 $3$ 号以 $1000$ 获胜。
由 ChatGPT 5 翻译