ĐƯỜNG GẤP KHÚC

id="a-graph-with-lines-and-dots-description-automatically-generatedđường-gấp-khúc-lizigzag.">A graph with lines and dots Description automatically generatedĐường gấp khúc (lizigzag.*)

Trên mặt phẳng tọa độ Oxy cho n điểm A1, A2, …, An có tọa độ nguyên dương. Người ta muốn vẽ một đường gấp khúc (theo dạng răng cưa) bắt đầu từ gốc tọa độ. Như vậy dãy điểm của đường gấp khúc này có dạng OB1B2…Bk (nối từ O đến B1, B1 đến B2, …, Bk-1 đến Bk) và phải thỏa mãn:

  • 0 < xB1 < xB2 < … < xBk

  • 0 < yB1 > yB2 < yB3 > …

  • Các điểm Bi (với i = 1, 2, …, k) phải thuộc tập điểm A1, A2, …, An.

Trong đó:

  • xB1, xB2, …, xBk lần lượt là hoành độ của B1, B2, …, Bk;

  • yB1, yB2, …, yBk lần lượt là tung độ của B1, B2, …, Bk;

Yêu cầu: Với tập điểm A1, A2, …, An. Hãy vẽ một đường gấp khúc (theo dạng răng cưa) thỏa mãn các điều kiện trên sao cho được nhiều điểm nhất (lưu ý rằng điểm được chọn phải là đỉnh của răng cưa).

Dữ liệu vào:

  • Dòng đầu chứa số nguyên dương n (n ≤ 104);

  • Trong n dòng sau, dòng thứ i chứa 2 số nguyên dương xiyi tương ứng là hoành độ và tung tộ của điểm Ai (xi, yi ≤104 với i = 1, 2, …, n).

Kết quả: Ghi một số nguyên duy nhất là số lượng điểm nhiều nhất thoả mãn điều kiện đề bài.

Ví dụ:

Input Output
5
3 4
6 2
2 2
1 3
5 1
5

Subtask:

  • Subtask 1: 60% số test n ≤ 20;

  • Subtask 2: 40% số test còn lại không có ràng buộc gì thêm.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. npk1605 (5/10)
  2. hungeazy08 (4/26)
  3. tung (2/5)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]