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
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python
Một quyển sách gồm ~N~ trang (~N~ luôn là số chẵn), được đánh số từ ~1~ đến ~N~. Trong đó trang ~1~ luôn nằm phía bên phải của trang bìa đầu, trang ~N~ luôn ở mặt bên trái của trang bìa cuối của quyển sách.
Hôm nay, giáo viên yều cầu cả lớp lật đến trang ~P~ trong quyển sách, theo tiêu chí sau:
- Có thể bắt đầu lật từ trang ~1~ hoặc trang ~N~.
- Mỗi lần chỉ lật một trang, ví du bắt đầu lật từ trang ~1~ sau khi lật sẽ đến trang ~2, 3~; lần hai sẽ đến trang ~4, 5~, ... Tương tự như vậy, nếu bắt đầu lật từ trang ~N~ sẽ dẫn đến các trang ~N - 1,\ N - 2~, ...
- Số lần lật tới trang ~P~ là ít nhất.
Yêu cầu
Viết chương trình trả về kết quả là số lần lật đến trang ~P~ ~(1 < P < N)~ trong quyển sách thỏa tiêu chí trên.
Dữ liệu đầu vào
Gồm hai số nguyên dương ~N,\ P~ ~(1 \le N \le 10^{18})~ nằm trền một dòng cách nhau ít nhất một ký tự trắng.
Dữ liệu đầu ra
Gồm một số nguyên là kết quả tìm được.
Ràng buộc dữ liệu
- Có 75% số test ứng với ~1 < P < N \le 10^9~;
- Có 25% số test ứng với ~10^9 < P < N \le 10^{18}~.
Ví dụ
Ví dụ 1
INPUT
8 3
OUTPUT
1
Bình luận