Bounce
Xem PDFChắc hẳn ai cũng đã từng có một thời dùng những chiếc điện thoại Nokia, và càng không thể chưa từng chơi tựa game huyền thoại Bounce trên những chiếc "cục gạch" ấy. Vì muốn sống lại những ký ức tuổi thơ ấy, đã tự tạo ra một game Bounce của riêng mình. Vì thời gian và kinh phí có hạn, trò chơi chỉ có duy nhất một đường đi nằm ngang như trục Ox. Quả bóng của chúng ta sẽ xuất phát ở tọa độ \(0\) và sẽ chỉ có thể nhảy về phía trước. Ban đầu, quả bóng có thể nhảy được một bước độ dài \(1\). Trên đường đi sẽ có các máy bơm và đinh. Khi quả bóng nhảy tới tọa độ có máy bơm, bạn được quyền lựa chọn giữ nguyên độ dài bước nhảy hoặc tăng độ dài bước nhảy lên gấp đôi (chỉ được tăng \(1\) lần tại \(1\) tọa độ). Còn khi quả bóng nhảy tới tọa độ có đinh, độ dài bước nhảy của quả bóng sẽ bắt buộc quay về \(1\). Hãy tính số lần nhảy ít nhất để quả bóng nhảy tới đúng tọa độ \(N\) nhé!
Input
- Dòng đầu tiên gồm 3 số nguyên dương là \(N, M, K\) lần lượt là tọa độ đích đến, số máy bơm và số đinh.
- Dòng tiếp theo gồm \(M\) số nguyên dương tăng dần, là tọa độ của các máy bơm.
- Dòng tiếp theo gồm \(K\) số nguyên dương tăng dần, là tọa độ của các đinh.
- Dữ liệu đảm bảo tọa độ các máy bơm và đinh là phân biệt và bé hơn \(N\).
Output
- Gồm 1 số nguyên duy nhất là số bước nhảy ít nhất để quả bóng nhảy tới đúng tọa độ \(N\), nếu không tồn tại cách nhảy nào thì in số \(-1\).
Scoring
- Subtask 1 (20%): \(N,M,K \leq 20\)
- Subtask 2 (25%): \(N \leq 10^9, M,K \leq 10^3\)
- Subtask 3 (25%): \(N,M,K \leq 10^5\)
- Subtask 5 (30%): \(N \leq 10^9, M,K \leq 10^5\)
Example
Test 1
Input
7 2 1
1 3
5
Output
3
Note
Bước đầu tiên ta sẽ nhảy từ \(0\) tới \(1\), sau đó tăng độ dài bước nhảy lên \(2\) và nhảy tới \(3\), sau đó tăng độ dài bước nhảy lên \(4\) và nhảy tới \(7\).
Test 2
Input
8 2 1
1 3
5
Output
6
Note
Bước đầu tiên ta sẽ nhảy từ \(0\) tới \(1\), sau đó tăng độ dài bước nhảy lên \(2\) và nhảy tới \(3\), sau đó giữ nguyên độ dài bước nhảy và nhảy tới \(5\) và giảm độ dài bước nhảy về \(1\). Cuối cùng nhảy thêm \(3\) bước độ dài \(1\) nữa để tới \(8\).
Bình luận