复杂度 $ \log N$ 代码实现:
#include<bits/stdc++.h>
using namespace std;
bool vis[10000001]={false};
void dfs(int n){
if(n/2!=0){
vis[n/2]=1;
dfs(n/2);
}
}
int lca(int m){
if(m/2!=0){
if(vis[m/2]) return m/2;
lca(m/2);
}
}
int n,m;
int main(){
cin>>n>>m;
dfs(n);
if(n==1||m==1)return printf("1")&0;
cout<<lca(m);
return 0;
}