Submission #634258

#TimeUsernameProblemLanguageResultExecution timeMemory
634258antimirageRack (eJOI19_rack)C++14
40 / 100
12 ms8128 KiB
#include <iostream> #include <algorithm> #include <vector> #include <math.h> #include <set> #include <map> using namespace std; const int N = 1e6 + 5; long long n, k, ans, mod = 1e9 + 7, two[N]; main(){ cin >> n >> k; two[0] = 1; for (int i = 1; i < N; i++) { two[i] = two[i - 1] * 2 % mod; } long long pw = n; for (long long j = 0; j <= n; j++) { if (k <= (1 << j)) { if (j > 0) ans = (ans + two[pw]) % mod; else { cout << (ans + 1) % mod << endl; return 0; } k -= (1 << (j - 1)); pw = n; j = -1; } else { pw--; } } }

Compilation message (stderr)

rack.cpp:14:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   14 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...