#aBC354C. [ABC354C] AtCoder Magics

[ABC354C] AtCoder Magics

AT_abc354_c [ABC354C] AtCoder Magics

题目描述

高桥君拥有 NN 张“ AtCoder Magics ”卡牌。我们将第 ii 张卡牌称为卡牌 ii。每张卡牌都有强度和代价两个参数,第 ii 张卡牌的强度为 AiA_i,代价为 CiC_i

高桥君觉得弱的卡牌没用,打算把它们扔掉。具体地,他会不断重复以下操作,直到无法继续为止:

  • 选择两张卡牌 xxyy,满足 Ax>AyA_x > A_yCx<CyC_x < C_y,然后把卡牌 yy 扔掉。

可以证明,当无法继续操作时,剩下的卡牌集合是唯一确定的。请你求出这些最终未被扔掉的卡牌。

输入格式

输入按以下格式从标准输入读入。

NN
A1A_1 C1C_1
A2A_2 C2C_2
\vdots
ANA_N CNC_N

输出格式

假设最终未被扔掉的卡牌有 mm 张,且它们的编号按升序为 i1,i2,,imi_1, i_2, \dots, i_m,请按以下格式输出:

mm i1i_1 i2i_2 \cdots imi_m

输入输出样例 #1

输入 #1

3
2 4
1 1
3 2

输出 #1

2
2 3

输入输出样例 #2

输入 #2

5
1 1
10 2
100 3
1000 4
10000 5

输出 #2

5
1 2 3 4 5

输入输出样例 #3

输入 #3

6
32 101
65 78
2 29
46 55
103 130
52 40

输出 #3

4
2 3 5 6

说明/提示

限制条件

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 1Ai,Ci1091 \leq A_i, C_i \leq 10^9
  • A1,A2,,ANA_1, A_2, \dots, A_N 均互不相同
  • C1,C2,,CNC_1, C_2, \dots, C_N 均互不相同
  • 输入均为整数

样例解释 1

关注卡牌 1133,因为 A1<A3A_1 < A_3C1>C3C_1 > C_3,所以可以扔掉卡牌 11。此后无法再进行操作。此时剩下卡牌 2233,请输出它们。

样例解释 2

在这种情况下,任何卡牌都无法被扔掉。

由 ChatGPT 4.1 翻译