Thang Máy
Đề bài
Mô tả
Trong một toà nhà có người đang đứng ở tầng và chờ thang máy. Người thứ muốn lên tầng . Toà nhà chỉ có một thang máy với sức chứa tối đa người. Ban đầu thang máy ở tầng .
Thang máy cần giây để di chuyển từ tầng sang tầng . Thời gian lên xuống thang không được tính.
Hãy tính thời gian ngắn nhất để thang máy đưa tất cả mọi người về đúng tầng của mình và sau đó quay trở lại tầng .
Dữ liệu vào
- Dòng thứ nhất chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên — tầng đích của mỗi người.
Dữ liệu ra
In ra một số nguyên duy nhất — thời gian ngắn nhất cần thiết.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 2 2 3 4 |
8 | Thang máy đón hai người đầu lên tầng (1 giây), trả người tầng , đi tiếp lên tầng (1 giây) trả người, rồi quay về tầng (2 giây). Sau đó đón người còn lại lên tầng (3 giây) và quay về (3 giây) — nhưng có thể tối ưu thành tổng giây. |
| 4 2 50 100 50 100 |
296 | Đón hai người tầng trước, quay lại đón hai người tầng . Tổng thời gian . |
| 10 3 2 2 2 2 2 2 2 2 2 2 |
8 | Tất cả đều lên tầng , cần lượt, mỗi lượt mất giây. |
Bình luận