Nam là một vận động viên quần vợt chuyên nghiệp. Có \(n\) giải đấu được tổ chức, giải \(i\) diễn ra vào ngày \(a_i\) và nếu tham dự giải đó Nam sẽ nhận được \(b_i\) điểm thưởng.
Để đảm bảo sức khỏe, Nam chỉ có thể tham dự cả hai giải \(i\) và \(j\) nếu \(|a_i - a_j| \ge k\).
Hãy giúp Nam chọn một tập các giải đấu (hai giải bất kỳ trong tập đều thỏa mãn điều kiện trên) sao cho tổng điểm thưởng là lớn nhất.
Input
-
Dòng đầu tiên chứa hai số nguyên \(n\) và \(k\) (\(1 \le n \le 10^5\), \(1 \le k \le 100\)).
-
Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le 10^9\)), là ngày tổ chức các giải đấu. Dữ liệu đảm bảo \(a_1 < a_2 < \cdots < a_n\).
-
Dòng thứ ba chứa \(n\) số nguyên \(b_1, b_2, \ldots, b_n\) (\(1 \le b_i \le 10^4\)), là điểm thưởng của từng giải.
Output
In ra một số nguyên duy nhất: tổng điểm thưởng lớn nhất Nam có thể đạt được.
Scoring
-
Có \(50\%\) số điểm ứng với \(n \le 1000\).
-
\(50\%\) số điểm còn lại không có ràng buộc thêm.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.