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 <iostream>
using namespace std;
const int MOD = 1e9 + 7;
int putere(int n)
{
long long a = 2;
int p = 1;
while (n != 0)
{
if (n % 2 != 0)
{
p = (long long)p * a % MOD;
}
a = (long long)a * a % MOD;
n /= 2;
}
return p;
}
int main()
{
int n;
long long k;
cin >> n >> k;
k--;
int rez = 0;
long long p2 = 1;
int e2 = 0;
while (p2 <= k)
{
if (k & p2)
{
rez += putere(n - 1 - e2);
rez %= MOD;
}
p2 += p2;
e2++;
}
rez = (rez + 1) % MOD;
cout << rez;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |