# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
439626 | LucaIlie | Rack (eJOI19_rack) | C11 | 8 ms | 4172 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 <stdio.h>
#define MAX_N 1000000
#define MAX_LG 62
#define MOD 1000000007
int p2mod[MAX_N + 1];
long long p2[MAX_LG + 1];
int main() {
int n, r, i;
long long k;
scanf( "%d%lld", &n, &k );
k--;
p2[0] = 1;
for ( i = 1; i <= MAX_LG; i++ )
p2[i] = p2[i - 1] * 2;
p2mod[0] = 1;
for ( i = 1; i <= MAX_N; i++ )
p2mod[i] = (p2mod[i - 1] * 2) % MOD;
r = 0;
for ( i = MAX_LG; i >= 0; i-- ) {
if ( (k / p2[i]) % 2 == 1 )
r = (r + p2mod[n - 1 - i]) % MOD;
}
printf( "%d", r + 1 );
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... |