#31322. 角色配队(team)

角色配队(team)

题目描述

为了彰显出《原鱼》与某其他知名二字游戏的不同,游戏策划胖头鱼在配队设计上可谓煞费苦心。

游戏中一共有 nn 名角色,每名角色都有力量和智力两种属性,其中第 ii 名角色的力量值为 aia_i ,智力值为 bib_i 。每支队伍不限制人数,但是必须逐个将角色加入到队伍中,第一个加入的角色没有任何限制,但之后加入的每一名角色,其力量值与智力值都必须严格小于前一名加入的角色。

显然,一支队伍的实力应当与各种属性值相关,但由于游戏奇葩独特的配队规则,导致大部分玩家都在研究如何让队伍的人数更多,这样会显得队伍更加酷炫。邪恶细心的胖头鱼发现,如果不使用某些角色,会直接导致队伍人数的上限减少,他将这种角色称为“关键角色”,通过提高关键角色的稀有程度,可以让游戏获得更多的盈利人气。所以,他需要知道哪些角色是关键角色,还愣着干什么,肯定是交给作为临时工的你来做啊。

输入格式

第一行包含一个整数 nn ,表示角色的数量。

接下来 nn 行,每行包含两个整数 aia_ibib_i ,依次描述每个角色的力量值与智力值。

输出格式

第一行输出一个整数 cc ,表示关键角色的数量。

第二行输出 cc 个整数,按照由小到大的顺序输出所有关键角色的编号,之间用空格隔开。

数据样例

【样例 1 输入】

存放在 sample/team 目录下的 team1.in 文件中。

5
3 3
1 2
2 1
4 5
5 4

【样例 1 输出】

存放在 sample/team 目录下的 team1.out 文件中。

1
1

【样例 1 解释】

队伍中最多可以有 33 名角色,比如第 2,1,42, 1, 4 名角色可以依次选入队伍。

一共有 44 种配队方式可以包含 33 名角色,但每一种配队都包含了角色 11 ,所以不使用角色 11 时队伍人数的上限会减少,角色 11 是关键角色。同时可以发现其他角色都不是关键角色。

【样例 2 输入】

存放在 sample/team 目录下的 team2.in 文件中。

5
3 3
1 1
2 2
4 4
5 5

【样例 2 输出】

存放在 sample/team 目录下的 team2.out 文件中。

5
1 2 3 4 5 

【样例 2 解释】

队伍中最多可以有 55 名角色,可以将所有角色按照 2,3,1,4,52, 3, 1, 4, 5 的顺序加入队伍,因此所有角色都是关键角色。

【样例 3 和 4】

存放在 sample/team 目录下的 team3.inteam3.outteam4.inteam4.out 文件中。

team.zip

数据说明

对于所有测试点,满足 1n2×1051 ≤ n ≤ 2 \times 10^51ai,bi1091 ≤ a_i, b_i ≤ 10^9

子任务及其特殊属性如下:

  • 子任务 1110%10\% 的分数,满足 ai=bi=1a_i = b_i = 1 ,表示所有角色的力量值与智力值均为 11
  • 子任务 2210%10\% 的分数,满足 ai=bi=ia_i = b_i = i ,表示第 ii 名角色的力量值与智力值均为 ii
  • 子任务 3310%10\% 的分数,满足 n20n ≤ 20 ,表示角色的数量极少。
  • 子任务 4410%10\% 的分数,满足 n300n ≤ 300 ,表示角色的数量很少。
  • 子任务 5510%10\% 的分数,满足 n2000n ≤ 2000 ,表示角色的数量较少。
  • 子任务 6630%30\% 的分数,满足 n5000n ≤ 5000 ,表示角色的数量不多。
  • 子任务 7720%20\% 的分数,没有特殊属性。