CF1148D.Dirty Deeds Done Dirt Cheap

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given nn pairs of integers (a1,b1),(a2,b2),,(an,bn)(a_1, b_1), (a_2, b_2), \ldots, (a_n, b_n) . All of the integers in the pairs are distinct and are in the range from 11 to 2n2 \cdot n inclusive.

Let's call a sequence of integers x1,x2,,x2kx_1, x_2, \ldots, x_{2k} good if either

  • x1<x2>x3<<x2k2>x2k1<x2kx_1 < x_2 > x_3 < \ldots < x_{2k-2} > x_{2k-1} < x_{2k} , or
  • x1>x2<x3>>x2k2<x2k1>x2kx_1 > x_2 < x_3 > \ldots > x_{2k-2} < x_{2k-1} > x_{2k} .

You need to choose a subset of distinct indices i1,i2,,iti_1, i_2, \ldots, i_t and their order in a way that if you write down all numbers from the pairs in a single sequence (the sequence would be ai1,bi1,ai2,bi2,,ait,bita_{i_1}, b_{i_1}, a_{i_2}, b_{i_2}, \ldots, a_{i_t}, b_{i_t} ), this sequence is good.

What is the largest subset of indices you can choose? You also need to construct the corresponding index sequence i1,i2,,iti_1, i_2, \ldots, i_t .

输入格式

The first line contains single integer nn ( 2n31052 \leq n \leq 3 \cdot 10^5 ) — the number of pairs.

Each of the next nn lines contain two numbers — aia_i and bib_i ( 1ai,bi2n1 \le a_i, b_i \le 2 \cdot n ) — the elements of the pairs.

It is guaranteed that all integers in the pairs are distinct, that is, every integer from 11 to 2n2 \cdot n is mentioned exactly once.

输出格式

In the first line print a single integer tt — the number of pairs in the answer.

Then print tt distinct integers i1,i2,,iti_1, i_2, \ldots, i_t — the indexes of pairs in the corresponding order.

输入输出样例

  • 输入#1

    5
    1 7
    6 4
    2 10
    9 8
    3 5
    

    输出#1

    3
    1 5 3
    
  • 输入#2

    3
    5 4
    3 2
    6 1
    

    输出#2

    3
    3 2 1
    

说明/提示

The final sequence in the first example is 1<7>3<5>2<101 < 7 > 3 < 5 > 2 < 10 .

The final sequence in the second example is 6>1<3>2<5>46 > 1 < 3 > 2 < 5 > 4 .

首页