Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
Python, Scratch
Đây là trò chơi với dãy số quen thuộc của các bạn tiểu học. Ban đầu cho dãy số tự nhiên từ ~1~ đến ~N~. Lần lượt xóa các số ở vị trí chẵn, từ trái sang phải, sau đó dồn lại và lặp lại thao tác xóa các số ở vị trí chẵn, từ trái sang phải.
Hỏi cứ lặp lại các thao tác như vậy thì số ~K~ được xóa ở lần thứ bao nhiêu?
Ví dụ: ~N = 10, K = 5~
- Dãy ban đầu là ~1~, ~2~, ~3~, ~4~, ~5~, ~6~, ~7~, ~8~, ~9~, ~10~.
- Xóa các số ở vị trí chẵn từ dãy ban đầu, dãy số thu được là ~1~, ~3~, ~5~, ~7~, ~9~ (xóa ~5~ số ~2~, ~4~, ~6~, ~8~, ~10~).
- Tiếp tục xóa các số ở vị trí chẵn ta được dãy số ~1~, ~5~, ~9~ (xóa số ~3~ và ~7~).
- Tiếp theo xóa số ~5~.
Vậy số ~5~ sẽ xóa ở lần xóa thứ ~8~.
Hãy đưa ra thứ tự xóa số ~K~ của dãy ban đầu có các số từ ~1~ đến ~N~.
Input
- Nhập vào hai số tự nhiên ~N~ và ~K~ ~(2 \le K \le N \le 10^{15})~, mỗi số trên một dòng.
Output
- Đưa ra duy nhất một số tự nhiên theo yêu cầu của bài.
Scoring
- Subtask 1 (~60%~ số điểm): ~2\le K \le N \le 1000~.
- Subtask 2 (~40%~ số điểm): không có ràng buộc gì thêm.
Sample Input 2
10
5
Sample Output 2
8
Bình luận