# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
438661 | raid | Rack (eJOI19_rack) | C++17 | 13 ms | 7992 KiB |
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>
#include <vector>
using namespace std;
const int MOD = 1e9 + 7;
const int MAXN = 1e6 + 1;
vector<int> db;
int pmod[MAXN];
int main() {
int n;
long long k;
cin >> n >> k;
--k;
while ( k ) {
db.push_back( k & 1 );
k >>= 1;
}
while ( db.size() != n ) {
db.push_back( 0 );
}
pmod[0] = 1;
for ( int i = 1; i <= n; ++i ) {
pmod[i] = (pmod[i - 1] * 2) % MOD;
}
long long res = 0;
for ( int i = 0; i < n; ++i ) {
if ( db[i] ) {
res = (res + pmod[n - i - 1]) % MOD;
}
}
cout << (res + 1) % MOD;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |