Submission #1245285

#TimeUsernameProblemLanguageResultExecution timeMemory
1245285boyan2010Rack (eJOI19_rack)C++20
100 / 100
97 ms408 KiB
#include<bits/stdc++.h> using namespace std; long long n,k; const long long mod=1e9+7; long long f(long long k) { if(k==0) { return 0; } long long pow=0,prod=1; while(prod<=k) { prod*=2; pow++; } prod/=2; pow--; long long one=1; for(int i=1;i<n-pow;i++) { one*=2; one%=mod; } return (f(k-prod)+one)%mod; } int main() { cin>>n>>k; if(k==1) { cout<<1; return 0; } k--; cout<<(f(k)+1)%mod; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...