C++
Có N di tích lịch sử nằm rải rác trên một tuyến đường. Tuyến đường được mô hình hóa
như một trục số. Theo một trật tự ngẫu nhiên nào đó, di tích lịch sử thứ i (gọi tắt là điểm i) có
tọa độ là xi, i = 1, 2, , N.
Nam muốn đi tham quan càng nhiều càng tốt các di tích lịch sử nói trên (do Nam chưa
từng đến). Theo kế hoạch, cuộc tham quan sẽ được bắt đầu từ điểm khởi hành có tọa độ bằng
0, Nam liên tiếp đi từ điểm này đến điểm khác theo quy tắc: luôn đến điểm nào mà bạn chưa
tham quan và gần với điểm khởi hành nhất. Để di chuyển một đơn vị độ dài, tức là một đơn vị
trên trục số, Nam tốn một đơn vị thời gian và bạn muốn rằng tổng thời gian di chuyển giữa các
điểm không vượt quá T đơn vị.
Biết rằng không có hai di tích lịch sử nào cách đều điểm khởi hành.
Yêu cầu: Xác định số Q là số lớn nhất các di tích lịch sử mà Nam có thể tham quan.
Dữ liệu: Vào từ tập tin văn bản THAMQUAN.INP với cấu trúc:
- Dòng đầu là hai số nguyên T, N cách nhau một khoảng trắng (1 T 109
, 1 N 15000).
- Dòng thứ i trong N dòng tiếp theo, chứa một số nguyên xi (-100000 xi 100000, xi 0), i
= 1, 2, , N.
Kết quả: Ghi ra tập tin văn bản THAMQUAN.OUT số duy nhất là số Q tìm được.
Ví dụ:
THAMQUAN.INP |THAMQUAN.OUT
25 5 4
10
-3
8
-7
1