GukiZ và những chồng hộp
Nộp bài giải
Điểm:
8,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Dạng bài
Ngôn ngữ cho phép
Ada, Algol, Assembly, Awk, C, C#, C++, D, Dart, Forth, Fortran, Go, Groovy, Java, Javascript, Kotlin, Lisp, Lua, Nim, ObjC, Pascal, Perl, PHP, Pike, Python, Racket, Ruby, Rust, Scheme, Scratch, Sed, TCL, Typescript, V, Zig
Có chồng hộp được xếp thành một hàng từ trái sang phải. Chồng thứ chứa hộp. Cần dọn sạch tất cả các hộp bằng học sinh làm việc đồng thời.
Tại thời điểm , tất cả học sinh đứng ngay bên trái chồng đầu tiên. Mỗi học sinh mất đúng giây để di chuyển từ vị trí ban đầu đến chồng số . Sau đó, ở mỗi giây kế tiếp, mỗi học sinh có thể thực hiện một trong hai thao tác (mỗi thao tác mất đúng giây):
- Nếu đang ở chồng và , di chuyển sang chồng .
- Nếu chồng hiện tại còn hộp, lấy đi hộp khỏi chồng đó.
Các học sinh hoạt động hoàn toàn độc lập và có thể cùng đứng trên một chồng. Hãy tìm thời gian tối thiểu (tính bằng giây) để dọn sạch toàn bộ các hộp. Sau giây, các học sinh được phép đứng ở vị trí bất kỳ.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
Một số nguyên duy nhất — thời gian tối thiểu cần thiết để dọn hết các hộp.
Ràng buộc
- Đảm bảo có ít nhất một chồng khác rỗng.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 1 1 1 |
4 | học sinh: di chuyển đến chồng (s), lấy hộp ở chồng (s), di chuyển sang chồng (s), lấy hộp ở chồng (s). |
| 3 2 1 0 2 |
5 | Học sinh đi tới chồng và lấy hộp ở đó; học sinh đi qua chồng (lấy hộp), tiếp tục đến chồng và lấy hộp còn lại. |
| 4 100 3 4 5 4 |
5 | Có rất nhiều học sinh; chia mỗi chồng cho đủ số học sinh để dọn xong song song trong giây. |
Bình luận