Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Lịch thi đấu cầu lông 2

Dễ Quy hoạch động Tìm kiếm nhị phân

  • 100 Điểm
  • 100% Tỉ lệ AC
  • 1 Số AC
  • 500M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Bạn Nam là một tay vợt cầu lông chuyên nghiệp. Trong năm có \(n\) giải đấu, giải thứ \(i\) diễn ra vào ngày \(a_i\) và mang lại tiền thưởng \(b_i\) cho người tham gia. Để giữ sức khoẻ, huấn luyện viên yêu cầu hai giải mà Nam đăng ký phải cách nhau ít nhất \(k\) ngày, tức là với hai giải \(i \ne j\) được chọn thì \(|a_i - a_j| \ge k\).

Hãy chọn một tập giải đấu thoả yêu cầu sao cho tổng tiền thưởng là lớn nhất và in ra tổng đó.

Input

  • Dòng đầu chứa hai số nguyên \(n\) và \(k\).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1 \le a_2 \le \dots \le a_n\) là ngày diễn ra các giải.
  • Dòng thứ ba chứa \(n\) số nguyên \(b_1, b_2, \dots, b_n\) là tiền thưởng của các giải.

Output

In ra một số nguyên là tổng tiền thưởng lớn nhất có thể nhận được.

Constraints

  • \(1 \le n \le 10^5\), \(1 \le k \le 10^9\)
  • \(1 \le a_i \le 10^9\) (không giảm dần)
  • \(1 \le b_i \le 10^9\)

Sample Input 1

6 3
2 4 5 8 9 12
7 6 6 5 10 1

Sample Output 1

24

Sample Input 2

4 30
5 10 20 40
8 3 9 1

Sample Output 2

9

Explanation

Ở ví dụ 1 chọn các ngày \(2, 5, 9, 12\) (cách nhau ít nhất 3 ngày): \(7+6+10+1=24\). Ở ví dụ 2, \(k=30\) nên chỉ chọn được ngày 5 và 40 (tổng 9) hoặc riêng ngày 20 (tổng 9).

Bình luận

Chưa có bình luận nào.