Submission #237604

#TimeUsernameProblemLanguageResultExecution timeMemory
237604PbezzRack (eJOI19_rack)C++14
40 / 100
5 ms384 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define MOD 1000000007 #define MAXN 100005 typedef pair<int, int> pii; ll fast(ll base, ll exp){ ll res=1; while(exp>0){ if(exp%2==1){ exp--; res*=base; res%=MOD; base%=MOD; } if(exp==0)break; base*=base; base%=MOD; exp/=2; } return res; } ll solve(ll n, ll k){ if(n==1&&k==1)return 1; if(n==1&&k==2)return 2; ll ans = fast(2,n-1); if(k%2==0)return solve(n-1,k/2)+ans; else return solve(n-1,(k+1)/2); } int main(){ ll n,k,ans; cin>>n>>k; ans=solve(n,k); cout<<ans<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...