Submission #832124

# Submission time Handle Problem Language Result Execution time Memory
832124 2023-08-21T02:04:59 Z KaleemRazaSyed Rack (eJOI19_rack) C++17
100 / 100
8 ms 7892 KB
#include<bits/stdc++.h>

using namespace std;

const int N = 1e6+5 , mod = 1e9+7;
long long pw[N];

long long f(long long k, int n)
{
  // cerr << "f(" << k << ", " << n << ")\n";
  if(n==0)
    return k;
  long long l = k/2 + k%2;
  long long r = k/2;
  if(l==r)
    return (pw[n-1]+f(r, n-1))%mod;
  return f(l, n-1);    
}

int main()
{
  int n;
  long long k;
  cin >> n >> k;

  pw[0] = 1;
  for(int i=1;i<=n;i++)
    pw[i] = (pw[i-1]*2)%mod;
  cout << f(k, n) << endl;
  return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 308 KB Output is correct
2 Correct 1 ms 304 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 308 KB Output is correct
2 Correct 1 ms 304 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 308 KB Output is correct
10 Correct 0 ms 312 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 308 KB Output is correct
2 Correct 1 ms 304 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 308 KB Output is correct
10 Correct 0 ms 312 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 1 ms 212 KB Output is correct
13 Correct 0 ms 340 KB Output is correct
14 Correct 1 ms 724 KB Output is correct
15 Correct 8 ms 7892 KB Output is correct