제출 #894326

#제출 시각아이디문제언어결과실행 시간메모리
894326vjudge1Rack (eJOI19_rack)C++17
100 / 100
12 ms560 KiB
#include <iostream> #include <fstream> #include <iomanip> #include <vector> #include <set> #include <map> #include <cstring> #include <string> #include <cmath> #include <cassert> #include <ctime> #include <algorithm> #include <sstream> #include <list> #include <queue> #include <deque> #include <stack> #include <cstdlib> #include <cstdio> #include <iterator> #include <functional> #include <unordered_set> #include <unordered_map> #include <stdio.h> #include <bitset> #include <cstdint> #include <cassert> #include <functional> #include <complex> #include <climits> #include <random> using namespace std; #define ll long long #define pb push_back #define ull unsigned long long #define F first #define S second #define all(v) v.begin(), v.end() const int INF = INT_MAX; const int block = 500; const ll mod = (ll) 1e9 + 7; void solve(){ ll ans = 0, c = 1; ll n, k; cin >> n >> k; k = k - 1; for(int i = 0; i < n - log2(k) - 1; i++){ c = (c * 2) % mod; } for(int i = log2(k); i >= 0; i--){ if(k & (1LL << i)){ ans += c; if(ans >= mod) ans -= mod; } c = (c * 2) % mod; } cout << ans + 1; } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL), cout.tie(NULL); int xach = 1; //cin >> xach; while(xach--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...