[DHBB18 - CNBK - 10] Bài 2: Đoạn thẳng
Xem dạng PDF
Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT
Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Cho ~n~ đoạn thẳng ~[a_i, b_i]~ nằm trên một đường thẳng (~a_i < b_i~, ~|a_i|, |b_i| \le 10^6~, ~i = 1 \dots n~, ~1 \le n \le 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 \le a_i~ và ~b_i \le 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.
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
- Một số nguyên duy nhất là độ dài dãy tìm được.
Bình luận