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;
long long const m=1000000007;
long long a[1000005];
int main(){
long long n,k;
cin>>n>>k;
long long k1=k;
long long ii=1;
long long p2[33];
k1--;
p2[0]=1;
for(long long i=1; i<=32; i++){
p2[i]=(p2[i-1]*2)%m;
}
while(k1>0){
a[ii]=k1%2;
k1=k1/2;
ii++;
//cout<<k1<<"l"<<endl;
}
ii=n;
long long sum=0;
for(long long i=32; i>=1; i--){
if(a[i]==1){
sum+=(p2[ii-i]);
sum=sum%m;
}
}
cout<<(sum+1)%m;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |