Tải B++
Đề bài
Mô tả
Chỉ còn mili giây trước khi cuộc thi bắt đầu, Polycarp cần tải về một tệp có kích thước byte.
Gói cước mặc định (đã trả trước, không tốn thêm tiền) cho phép tải mỗi byte mất mili giây. Ngoài ra nhà mạng còn bán hai gói bổ sung:
- Gói 1: tải tối đa byte, mỗi byte mất mili giây, giá .
- Gói 2: tải tối đa byte, mỗi byte mất mili giây, giá .
Mỗi gói có thể mua bao nhiêu lần tùy ý, trả tiền ngay khi mua. Khi một gói được mua, nó thay thế gói cước mặc định cho đến khi dùng hết dung lượng của gói; trong thời gian đó không được mua gói khác hay quay lại gói cước mặc định. Khi gói đã dùng hết, Polycarp có thể ngay lập tức mua gói mới hoặc chuyển về gói cước mặc định mà không mất thời gian. Nếu tệp đã tải xong thì phần dung lượng chưa dùng của gói đang dùng bị bỏ đi.
Ở mọi chế độ, số byte tải được đều là số nguyên (không tải một phần byte).
Hãy tìm số tiền nhỏ nhất Polycarp phải trả để tải xong tệp trong thời gian không quá mili giây, hoặc cho biết không thể.
Dữ liệu vào
- Dòng 1: ba số nguyên , , .
- Dòng 2: ba số nguyên , , .
- Dòng 3: ba số nguyên , , .
Dữ liệu ra
In ra số tiền nhỏ nhất cần trả. Nếu không thể tải xong trong thời gian , in ra .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 120 964 20 26 8 8 13 10 4 |
40 | Mua gói 1 năm lần (tổng byte), tải byte trong mili giây, tốn . |
| 10 200 20 1 1 1 2 2 3 |
0 | Chỉ dùng gói mặc định: mili giây, vừa đủ. |
| 8 81 11 4 10 16 3 10 12 |
28 | Mua mỗi gói một lần: byte tốn mili giây, byte còn lại dùng gói mặc định mất , tổng . |
| 8 79 11 4 10 16 3 10 12 |
-1 | Không có cách nào tải xong trong mili giây. |
Bình luận