[C10_HN_KHTN_24] Hình chữ nhật

Xem dạng PDF

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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.