Nửa mặt phẳng chứa nhiều điểm nhất

Xem dưới dạng PDF

Gửi bài giải


Điểm: 20
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

An đang khảo sát một bức ảnh vệ tinh gồm \(n\) điểm trên mặt phẳng. An muốn tìm một đường thẳng đi qua gốc toạ độ sao cho nửa mặt phẳng (mở) xác định bởi đường thẳng đó chứa nhiều điểm nhất.

Nửa mặt phẳng ở đây là tập các điểm nằm về một phía của đường thẳng (kể cả trên đường thẳng).

Hãy giúp An tìm số điểm tối đa có thể đạt được.

Định dạng đầu vào

  • Dòng đầu chứa số nguyên \(n\) (\(1 \le n \le 10^5\)).
  • \(n\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(x_i, y_i\) (\(|x_i|, |y_i| \le 10^6\)).

Định dạng đầu ra

  • Một số nguyên duy nhất là số điểm tối đa nằm trong một nửa mặt phẳng qua gốc.

Ví dụ

Input:

4
1 0
0 1
-1 0
0 -1

Output:

2

Giải thích: Không có nửa mặt phẳng nào qua gốc chứa được hơn \(2\) điểm trong số bốn điểm này.

Ràng buộc

  • Subtask 1 (20 điểm): \(n \le 100\).
  • Subtask 2 (30 điểm): \(n \le 10^4\).
  • Subtask 3 (50 điểm): \(n \le 10^5\).

Nhận xét

Không có ý kiến tại thời điểm này.