Submission #464887

#TimeUsernameProblemLanguageResultExecution timeMemory
464887ewirlanRack (eJOI19_rack)C++11
40 / 100
0 ms204 KiB
//RACK #define _CTR_SECURE_NO_WARNINGS #include <iostream> #include <algorithm> typedef long long ll; constexpr ll mod = 1e9 + 7; #include <random> int main() { std::mt19937_64 twist; std::cin.tie(nullptr); std::cout.tie(nullptr); std::ios_base::sync_with_stdio(0); ll n, K; std::cin >> n >> K; int ind(1); while (ind--) { ll p(0), k((1ll << std::min(61ll, n)) - 1), s, odp(0), pot(1); while (k > p) { s = (p + k + 1) / 2; if (K <= s)k = s - 1; else { p = s; odp = (odp + pot) % mod; } pot = (pot * 2) % mod; } std::cout << (odp+1)%mod << '\n'; if (ind) { K = twist() % ll(1e18) + 1; n = twist() % ll(1e6) + 100; std::cerr << n <<' '<<K << ' '; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...