제출 #896988

#제출 시각아이디문제언어결과실행 시간메모리
896988Jawad_Akbar_JJRack (eJOI19_rack)C++17
40 / 100
7 ms8564 KiB
#include <iostream> #include <vector> using namespace std; #define int long long const int N = (1<<20) + 1; int tp[N]; int mod = 1e9 + 7; void solve(int n,int k){ bool right = true; int ans = 0; for (int i=1;i<=n;i++){ bool last = 1&k; k >>= 1; if (right and last) right = 0; else if (right) ans += tp[n - i]; else if (!right and last) ans += tp[n - i]; } cout<<ans + !right<<endl; } signed main(){ tp[0] = 1; for (int i=1;i<N;i++) tp[i] = tp[i-1] * 2 % mod; int n,k; cin>>n>>k; if (k==tp[n]) cout<<tp[n]<<endl; else solve(n,k); return 0; for (int i=1;i<=8;i++) solve(3,i); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...