Submission #1174728

#TimeUsernameProblemLanguageResultExecution timeMemory
1174728andriy57Rack (eJOI19_rack)C++20
40 / 100
0 ms328 KiB
#define _CRT_SECURE_NO_WARNINGS #include <bits/stdc++.h> using namespace std; #define forin for(int i = 1; i <= n; i++) #define stforin for(int i = 0; i < n; i++) #define forim for(int i = 1; i <= m; i++) #define forjn for(int j = 1; j <= n; j++) #define forch(j, n) for(int i = j; i <= n; i++) #define forch2(i, j, n) for(int i = j; i <= n; i++) #define forjm for(int j = 1; j <= m; j++) #define lol long long #define lb long double #define all(a) (x).begin(), (x).end(); #define endl '\n' #define debug cout << "Completed" << endl; #define fix(n, m) cout << fixed; cout.precision(m); cout << n << endl #define Yes cout << "YES" << endl #define No cout << "NO" << endl #define bads cout << -1 << endl #define pll pair<lol, lol> #define mod 1000000007 #define fst first #define snd second #define inf 1e15 #define tofix cin ; string sbuf; ostringstream buf(sbuf); istringstream atcin(sbuf); lol gcd(lol a, lol b) { while (a != 0 && b != 0) if (a > b) a %= b; else b %= a; return a + b; } lol lcm(lol a, lol b) { return a / gcd(a, b) * b; } bool issqrt(lol n) { lb x = sqrt(n); if (x == (lol)x) return 1; return 0; } lol easy(lol n) { if (n == 1) return 0; for (int i = 2; i * i <= n; i++) if (n % i == 0) return 0; return 1; } string bin(int v) { string ans; while (v != 0) { ans += to_string((v % 2)); v /= 2; } return ans; } //priority_queue <pll, vector<pll>, greater<pll>> q const long long N = 2e3 + 10; lol n, k, ans; string s; int main() { cin >> n >> k; k--; s = bin(k); while (s.size() < n) s.push_back('0'); forch(0, n - 1) ans = (ans * 2 + int(s[i] - '0')) % mod; cout << (ans + 1) % mod << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...