[C10_BRVT_23] Lật sách

Xem dạng PDF

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.

Imgur

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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.