Gửi bài giải
Điểm:
0,50 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Nam là một vận động viên quần vợt chuyên nghiệp. Trong một hệ thống thi đấu quần vợt, 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ứ ai (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à bi.
Để đảm bảo sức khỏe, huấn luyện viên quyết định hai giải đấu mà Nam chọn tham dự phải cách xa nhau ít nhất là k ngày (|ai-aj| ≥ k nếu Nam tham dự cả giải thứ i và giải thứ j).
Bạn hãy giúp Nam 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:
- Dòng đầu tiên là hai số nguyên n và k cách nhau một dấu trống (space) (1≤n≤ 10^5,1≤k≤100)
- Dòng thứ hai chứa n số nguyên a1, a2, ..., an (1 ≤ ai ≤ 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 (space). Dữ liệu cho đảm bảo a1 < a2 < a3 < ...< an.
- Dòng thứ ba chứa n số nguyên b1, b2, ..., bn (1 ≤ bi ≤ 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 (space).
- Kết quả: Ghi ra Một số nguyên duy nhất là tổng số điểm thưởng lớn nhất mà Nam có thể có được.
Ví dụ: BAI4.INP
Copy
5 2
1 2 3 4 5
1 5 1 5 1
BAI4.OUT
10
Bình luận