AT_abc354_c [ABC354C] AtCoder Magics

题目描述

高桥君拥有 $N$ 张“ AtCoder Magics ”卡牌。我们将第 $i$ 张卡牌称为卡牌 $i$。每张卡牌都有强度和代价两个参数,第 $i$ 张卡牌的强度为 $A_i$,代价为 $C_i$。 高桥君觉得弱的卡牌没用,打算把它们扔掉。具体地,他会不断重复以下操作,直到无法继续为止: - 选择两张卡牌 $x$ 和 $y$,满足 $A_x > A_y$ 且 $C_x < C_y$,然后把卡牌 $y$ 扔掉。 可以证明,当无法继续操作时,剩下的卡牌集合是唯一确定的。请你求出这些最终未被扔掉的卡牌。

输入格式

输入按以下格式从标准输入读入。 > $N$ > $A_1$ $C_1$ > $A_2$ $C_2$ > $\vdots$ > $A_N$ $C_N$

输出格式

假设最终未被扔掉的卡牌有 $m$ 张,且它们的编号按升序为 $i_1, i_2, \dots, i_m$,请按以下格式输出: > $m$ $i_1$ $i_2$ $\cdots$ $i_m$

说明/提示

### 限制条件 - $2 \leq N \leq 2 \times 10^5$ - $1 \leq A_i, C_i \leq 10^9$ - $A_1, A_2, \dots, A_N$ 均互不相同 - $C_1, C_2, \dots, C_N$ 均互不相同 - 输入均为整数 ### 样例解释 1 关注卡牌 $1$ 和 $3$,因为 $A_1 < A_3$ 且 $C_1 > C_3$,所以可以扔掉卡牌 $1$。此后无法再进行操作。此时剩下卡牌 $2$ 和 $3$,请输出它们。 ### 样例解释 2 在这种情况下,任何卡牌都无法被扔掉。 由 ChatGPT 4.1 翻译