#271. Câu cá (Mã bài: FISH)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Trên một con đường nằm ngang, có n hồ câu cá, được đánh số từ trái sang phải là 1, 2, \dots, n . Tèo có H giờ rảnh rỗi và muốn tận dụng thời gian này để câu được nhiều cá nhất. Cậu ấy xuất phát từ hồ số 1 , đi về phía bên phải, và có thể chọn dừng lại ở một số hồ để câu cá trong một khoảng thời gian nhất định (thời gian phải là bội số của 5 phút). Cuối cùng, cậu ấy sẽ kết thúc việc câu cá tại một hồ nào đó.

Tèo đi từ hồ thứ i đến hồ thứ i+1 mất 5 \times T_i phút. Cậu ấy cũng đo được rằng tại hồ thứ i , trong 5 phút đầu tiên có thể câu được F_i con cá; sau đó cứ mỗi 5 phút tiếp theo, lượng cá câu được sẽ giảm đi D_i con. Nếu lượng cá giảm xuống nhỏ hơn 0 , thì coi như bằng 0 .

Để đơn giản hóa vấn đề, Tèo giả định không có ai khác câu cá và không có yếu tố nào khác ảnh hưởng đến việc câu cá. Hãy lập trình tìm ra số lượng cá tối đa mà Tèo có thể câu được.

Dữ liệu:

  • Dòng đầu tiên chứa số nguyên n , biểu thị số lượng hồ.
  • Dòng thứ hai chứa số nguyên H , biểu thị thời gian rảnh của Tèo (tính bằng giờ).
  • Dòng thứ ba chứa n số nguyên, lần lượt biểu thị số cá câu được trong 5 phút đầu tiên tại mỗi hồ.
  • Dòng thứ tư chứa n số nguyên, lần lượt biểu thị lượng cá giảm đi sau mỗi 5 phút tại mỗi hồ.
  • Dòng thứ năm chứa n-1 số nguyên T_i , biểu thị thời gian đi từ hồ i đến hồ i+1 5 \times T_i phút.

Kết quả:

  • Xuất ra duy nhất một dòng, biểu thị số lượng cá tối đa mà Tèo có thể câu được.

Ví dụ:

Dữ liệu:

3
1
4 5 6
1 2 1
1 2

Kết quả:

35

Giới hạn: 2 \le n \le 100, 1 \le H \le 20 .