Hướng dẫn cho HackDream Orange 08-B: Nhà máy điện


Chỉ sử dụng khi thực sự cần thiết như một cách tôn trọng tác giả và người viết hướng dẫn này.

Chép code từ bài hướng dẫn để nộp bài là hành vi có thể dẫn đến khóa tài khoản.

Tạo một biến ~T=0~. Đến mỗi ngày thứ ~d_i~, tăng ~T~ thêm ~b_i~ (chú ý lấy min với ~D~, nếu không sẽ bị tràn số), rồi xem từ ngày ~d_i~ đến ngày ~d_{i+1}-1~ đã sử dụng bao nhiêu nhiên liệu, chính là ~V=min(d_{i+1}-d_i, T)~, rồi sau đó trừ ~T~ đi ~V~. Ta chỉ quan tâm các ~i~ mà có ~d_i <= D~, gọi ~i~ lớn nhất như vậy là ~last~, đối với ~i=last~ thì cộng vào kết quả là ~min(D-d_n+1, T)~.


Bình luận

Không có bình luận nào.