Gửi bài giải

Điểm: 5,00
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++

Từ xưa, các số nguyên dương được biết là dãy số theo thứ tự tăng dần 1, 2, 3, 4, 5, ... Nhưng Mr. Thảo lại không hài lòng về sự sắp xếp này, Mr. Thảo muốn sắp xếp lại theo một trật tự mới. Nhưng các số nguyên dương là vô hạn, nên Mr. Thảo bắt đầu với n số nguyên dương đầu tiên. 

Mr. Thảo viết ra giấy dãy số sau:

  • Đầu tiên là tất cả các số lẻ không lớn hơn n (theo thứ tự tăng dần),
  • Sau đó là tất cả các số chẵn không lớn hơn n ( cũng theo thứ tự tăng dần ). 

Sau khi viết xong, Mr. Thảo muốn biết số thứ k trong dãy số vừa viết xong là số nào, nhưng không may tờ giấy của Mr. Thảo bị hỏng và mất đi phần đó. Mr. Thảo không muốn viết lại dãy số. Hãy giúp Mr. Thảo biết được số thứ k trong dãy.

Ví dụ:

  • Với n=10, k=3 thì evenOdds(10, 3)=5.
    Dãy số mà Mr. Thảo viết là: 1, 3, 5, 7, 9, 2, 4, 6, 8, 10
    Vậy số ở vị trí thứ k=3 là số 5.
  • Với n=7, k=7 thì evenOdds(7,7)=6.
    Dãy số mà Mr. Thảo viết là: 1, 3, 5, 7, 2, 4, 6
    Vậy số ở vị trí thứ k=7 là số 6.

Đầu vào/Đầu ra:

  • [Đầu vào] 
    1 ≤ k ≤ n ≤ 10^12
  • [Đầu ra] long long
    Số thứ k trong dãy số mà Mr.Thảo đã viết.

Sample input

10 3

Sample output

5

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.