KẾ HOẠCH THI ĐẤU

(kehoach.*)

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ứ \(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}\). Để đả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 \((|a_{i} - a_{j}|\ \geq \ 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 vào:

+ Dòng đầu tiên là hai số nguyên \(n\)\(k\) cách nhau một dấu trống (space) (\(1 \leq n \leq \ 10^{5},1 \leq k \leq 100)\)

+ Dòng thứ hai chứa \(n\) số nguyên \(a_{1},\ a_{2},\ ...,\ a_{n}\) \((1\ \leq \ a_{i}\ \leq \ 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 \(a_{1} < a_{2} < a_{3} < \ ... < \ a_{n}.\)

+ Dòng thứ ba chứa \(n\) số nguyên \(b_{1},\ b_{2},\ ...,\ b_{n}\) (\(1\ \leq \ b_{i}\ \leq \ 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ả:

+ 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ụ:

Input Output
5 2
1 2 3 4 5
1 5 1 5 1
10

Ràng buộc:

  • 3 tests có \(n \leq 5000\)

  • 3 test có \(5000 < n \leq 10^{5}\)

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. npk1605 (5/10)
  2. hungeazy08 (4/26)
  3. tung (2/5)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]