Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python
Cho ~N~ hình chữ nhật, mỗi hình chữ nhật ~H_i~ có chiều dài ~D_i~ và chiều rộng ~R_i~. Hình chữ nhật ~A~ được gọi là lớn hơn hình chữ nhật ~B~, ký hiệu ~A > B~ nếu:
- Hoặc diện tích hình chữ nhật ~A~ lớn hơn diện tích hình chữ nhật ~B~, tức là ~D_A \times R_A > D_B \times R_B~;
- Hoặc diện tích hình chữ nhật ~A~ bằng diện tích hình chữ nhật ~B~ và chiều dài hình chữ nhật ~A~ lớn hơn chiều dài hình chữ nhật ~B~, tức là ~D_A \times R_A = D_B \times R_B~ và ~D_A > D_B~.
Yêu cầu
Hãy tìm độ dài của dãy giảm dần dài nhất (không cần liên tiếp) các hình chữ nhật. Tức là tìm số ~k~ lớn nhất sao cho tồn tại dãy các chỉ số ~i_1, i_2, \ldots, i_k~ mà ~H_{i_1} > H_{i_2} > \ldots > H_{i_k}~.
Dữ liệu đầu vào
Gồm ~N + 1~ dòng:
- Dòng đầu tiên chứa số nguyên dương ~N~ ~(1 \le N \le 10^5)~ là số lượng hình chữ nhật.
- ~N~ dòng tiếp theo, mỗi dòng chứa hai số nguyên ~D_i~ và ~R_i~ ~(1 \le D_i, R_i \le 10^9)~ lần lượt là chiều dài và chiều rộng của hình chữ nhật thứ ~i~.
Dữ liệu đầu ra
Gồm một số nguyên duy nhất là kết quả của bài toán.
Ràng buộc dữ liệu
- 70% số test có ~N \le 10^3~.
- 30% số test còn lại không có ràng buộc gì thêm.
Ví dụ
Ví dụ 1
INPUT
4
2 3
3 2
2 2
1 3
OUTPUT
3
Giải thích: Các hình chữ nhật: ~(2, 3)~, ~(3, 2)~, ~(2, 2)~, ~(1, 3)~. Dãy giảm dần dài nhất với chỉ số tăng dần: ~(2, 3)~ (chỉ số ~0~) ~\rightarrow~ ~(2, 2)~ (chỉ số ~2~) ~\rightarrow~ ~(1, 3)~ (chỉ số ~3~), với diện tích ~6 \rightarrow 4 \rightarrow 3~, độ dài ~3~.
Bình luận