This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
signed main(){
int n,k;cin>>n>>k;
long long inf = 1;
long long sup = (1<<n);
k--;
for(int i=0;i<min(n,60);i++){
int mid = (sup+inf)/2;
if((k>>i)&1){
//right
inf = mid+1;
}else{
//left
sup=mid;
}
}
cout<<inf%MOD<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |