[QNOI 2017] Đoạn thẳng

Xem PDF

Nộp bài


Điểm: 15 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 256M

Tác giả:
Dạng bài

Cho \(n\) đoạn thẳng \([a_i,\ b_i]\) nằm trên một đường thẳng với \(a_i < b_i;\ |a_i|,\ |bi|\leq10^6,\ \forall i = 1..n,\ 1\leq n\leq 10^5\). Nói đoạn thẳng thứ \(i\) nằm trực tiếp trong đoạn thẳng thứ \(j\) (hay đoạn thẳng \(j\) trực tiếp chứa đoạn \(i\)) nếu nó thuộc hoàn toàn đoạn thẳng thứ \(j\), tức là \(a_j\leq a_i\) và \(b_i\leq b_j\).

Yêu cầu: Tìm một dãy dài nhất các đoạn thẳng khác nhau trong dãy ban đầu sao cho từ đoạn thứ hai trong dãy tìm được, mỗi đoạn chứa trực tiếp một đoạn khác (hay nói cách khác, các đoạn phía sau trong dãy chứa tất cả các đoạn phía trước trong dãy đó).

Input

  • Dòng đầu tiên chứa số nguyên \(n\);
  • Dòng thứ \(i\) trong \(n\) dòng sau chứa \(2\) số nguyên \(a_i\) và \(b_i\).

Output

  • In ra một số nguyên duy nhất là độ dài dãy tìm được.

Ví dụ

Sample input 1
4
2 3
0 4
1 6
0 5
Sample output 1
3
Note

Dãy con tìm được gồm \(3\) đoạn: \((2,\ 3),\ (0,\ 4)\) và \((0,\ 5)\).


Sample input 2
6
2 10
6 9
1 2
7 8
1 8
8 10
Sample output 2
3
Note

Dãy con tìm được gồm \(3\) đoạn: \((7,\ 8),\ (6,\ 9)\) và \((2,\ 10)\).

Ràng buộc

  • Có \(30\%\) số test tương ứng \(30\%\) số điểm có \(n\leq20\);
  • Có \(30\%\) số test tương ứng \(30\%\) số điểm có \(n\leq10^4\);
  • Có \(40\%\) số test tương ứng \(40\%\) số điểm có \(n\leq10^5\).