Submission #999796

#TimeUsernameProblemLanguageResultExecution timeMemory
999796vjudge1Rack (eJOI19_rack)C++17
100 / 100
3 ms348 KiB
#include <bits/stdc++.h> using namespace std; #define mod 1000000007 #define ll unsigned long long ll binpow(ll a, ll b){ ll res = 1; while(b != 0){ if (b % 2 == 0){ b /= 2; a *= a; a %= mod; } else{ b--; res *= a; res %= mod; } } return res; } ll f(ll n, ll k, ll va){ va %= mod; ll ans = 0; if (n == 0){ return 0; } if (n <= 63){ ll ag = pow(2ull, n - 1); if (ag < k){ ans += va; ans += f(n - 1, k - ag, va * 2); return ans; } } ans += f(n - 1, k, va * 2); return ans; } int main(){ ll n, k; cin>>n>>k; cout<<(f(n, k, 1) + 1) % mod; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...