Submission #894394

#TimeUsernameProblemLanguageResultExecution timeMemory
894394vjudge1Rack (eJOI19_rack)C++17
40 / 100
0 ms348 KiB
#include <bits/stdc++.h> using namespace std; #define speed ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); #define rall(x) x.rbegin(), x.rend() #define all(x) x.begin(), x.end() #define sz(x) (int)x.size() #define mp make_pair #define pb push_back #define F first #define S second #define nl '\n' #define int long long typedef long long ll; typedef unsigned long long ull; typedef pair<int, int> pii; typedef pair<ll, ll> pll; typedef long double ld; const int N = 1e6 + 5; const int M = 1e3 + 5; const int inf = 1e9 + 123; const ll infl = 1e15 + 10; const int mod = 1e9 + 7; const int P = 31; ll n, k; ll mul(ll a, ll b){ return 1LL * a * b % mod; } ll get(string s){ ll ans = 0; for(int i = sz(s) - 1; i >= 0; i--){ ans = mul(ans, 2); ans += s[i] - '0'; ans %= mod; } return ++ans; } void solve() { cin >> n >> k; if(n > 60){ cout << n << nl; return; } k--; string s = ""; for(int i = n - 1; i >= 0; i--){ if((1LL << i) & k) s += '1'; else s += '0'; } cout << get(s) << nl; } signed main() { speed; int T = 1; // cin >> T; while (T--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...