Mô tả
Đêm nay khu chung cư Times City bất ngờ báo cháy. Anh Tuấn đang đứng ở trước căn hộ số trên một hành lang dài phòng. Mỗi phòng trên hành lang được đánh số từ đến . Trên hành lang có một số vị trí là cầu thang thoát hiểm — anh Tuấn chỉ cần chạy đến một cầu thang bất kỳ là an toàn.
Hành lang được mô tả bằng một mảng số nguyên gồm phần tử, trong đó:
- nếu tại vị trí có cầu thang thoát hiểm.
- nếu tại vị trí chỉ là cửa căn hộ thường.
Anh Tuấn xuất phát ngay tại vị trí (đảm bảo ), mỗi giây anh ấy có thể di chuyển sang trái hoặc sang đúng một ô. Hãy giúp anh Tuấn tính xem cần ít nhất bao nhiêu bước chân để tiếp cận được một vị trí thoát hiểm gần nhất.
Đầu vào
Hàm nhận vào hai tham số:
a: một mảng số nguyên (chỉ chứa hoặc ).p: một số nguyên là vị trí xuất phát của anh Tuấn.
Đầu ra
Trả về một số nguyên duy nhất là số bước chân ít nhất để anh Tuấn thoát hiểm. Nếu không có cầu thang nào trên hành lang, trả về .
Ràng buộc
- (độ dài mảng ).
- .
Ví dụ
Ví dụ 1:
- Đầu vào:
a = [0, 0, 1, 0, 0, 1, 0],p = 3 - Đầu ra:
1
Giải thích: Anh Tuấn đang ở vị trí . Cầu thang gần nhất ở bên trái là vị trí (cách bước), cầu thang gần nhất ở bên phải là vị trí (cách bước). Vì thế anh ấy chỉ cần chạy sang trái bước là tới nơi an toàn.
Ví dụ 2:
- Đầu vào:
a = [0, 0, 0, 0, 1, 0, 0, 1],p = 0 - Đầu ra:
4
Giải thích: Vị trí nằm tận cùng bên trái. Không có cầu thang nào bên trái, nên anh Tuấn chỉ có thể chạy sang phải. Cầu thang gần nhất là vị trí , cần đúng bước chân.