Kế hoạch thi đấu

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Tiến Minh là một vận động viên cầu lông chuyên nghiệp. Trong một hệ thống thi đấu giải cầu lông hàng năm, người ta tổ chức ~n~ giải đấu đánh số từ 1 đến ~n~. Giải đấu thứ i được tổ chức vào ngày thứ ~a_i~ (ngày ban tổ chức ra quyết định là ngày thứ 1) và mỗi vận động viên tham gia được cộng điểm thưởng là ~b_i~. Tiến Minh có thể tham ra các tất cả giải đấu trong hệ thống, tuy nhiên để đảm bảo sức khỏe cho Tiến Minh, huấn luyện viên quyết định hai giải đấu mà Tiến Minh chọn tham dự phải cách xa nhau ít nhất là ~k~ ngày hay nói cách khác nếu Minh tham dự cả giải thứ ~i~ và giải thứ ~j~ thì phải thỏa mãn điều kiện |~a_i-a_j | ≥ k~.

Yêu cầu: Bạn hãy giúp Tiến Minh chọn lựa các giải thi đấu sao cho tổng số điểm thưởng là nhiều nhất.

Dữ liệu vào:

  • Dòng đầu tiên là hai số nguyên dương ~n~ và ~k~ cách nhau một dấu trống (~1≤n≤ 10^5, 1≤k≤100~)

  • Dòng thứ hai chứa n số nguyên ~a_1,a_2,...,a_n~ (~1 ≤ a_i ≤ 10^9~) là ngày thi đấu của các giải 1, 2,...,~n~; mỗi số cách nhau một dấu trống. Dữ liệu cho đảm bảo ~a_1<a_2<a_3< ...< a_n~</p>

  • Dòng thứ ba chứa n số nguyên ~b_1,b_2,...,b_n~ (~1 ≤ b_i ≤ 10^4~) là số điểm thưởng của các giải 1, 2, ..., ~n~; mỗi số cách nhau một dấu trống.

Dữ liệu ra:

  • Ghi một số nguyên duy nhất là tổng số điểm thưởng lớn nhất mà Tiến Minh có thể có được.

Ví dụ:

Input

5 2
1 2 3 4 5
1 5 1 5 1

Output

10

Ràng buộc:

  • Subtask1: Có 30% test ~n≤10^5~ và ~b_1< b_2< ...< b_n~
  • Subtask1: Có 40% test có ~n≤5000~.
  • Subtask3 :Có 30% test có ~5000<n≤10^5~</li>

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.