Submission #929493

#TimeUsernameProblemLanguageResultExecution timeMemory
929493bambaaRack (eJOI19_rack)C++14
100 / 100
8 ms4240 KiB
#include <bits/stdc++.h> #include <iostream> #include <set> #include <cmath> #include <iterator> #include <vector> #define ff first #define ss second #define mp make_pair #define ll long long using namespace std; int main() { int n; long long q, s = 0; cin >> n >> q; int modulo[n]; modulo[0] = 1; for (int i = 1; i < n; i++){ modulo[i] = (modulo[i - 1] * 2) % 1000000007; } bool way = true; for (int i = 0; i < n; i++){ if (way == true){ if (q % 2 == 0){ s = (modulo[n - i - 1] + s) % 1000000007; } else { way = false; } } else { if (q % 2 == 1){ s = (modulo[n - i - 1] + s) % 1000000007; } } q = q / 2; } s = (s + 1) % 1000000007; cout << s << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...