Nhập vào n và k(k <= n <= 10^2). Một người tạo ra dãy S bằng cách viết lần lượt các số lẻ từ 1 đến n, sau đó viết tiếp các số chẵn từ 1 đến n. VD: Với n=5 thì S={1, 3, 5, 2, 4}. Yêu cầu bài toán là tìm số thứ k của dãy S.
INPUT: 2 số n, k.
OUTPUT: Số cần tìm.
Ví dụ;
INP: 5 4.
OUT: 2.
Mọi người có cách nào tối ưu hơn cách của e giúp e với ạ, cách của em với những số to sẽ bị chạy quá thời gian.
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n, k, i;
cin >> n >> k;
long long d=0;
for(i=1;i<=n;i+=2)
{
d++;
if(d==k)
{
cout<< i ;
return 0;
}
}
cout<<2*(k-d);
}