제출 #1050840

#제출 시각아이디문제언어결과실행 시간메모리
1050840ThommyDBRack (eJOI19_rack)C++17
40 / 100
1 ms348 KiB
#include<bits/stdc++.h>

using namespace std;

const int mod = 1e9+7;

int n, k;

signed main(){
    cin >> n >> k;

    vector<int> layers(n+1);

    layers[0]=1;
    signed long long s = 1;
    
    for(int i = 1; i <= n; i++){
        s*=2;
        s%=mod;
        layers[i] = s;
    }

    long long ans = 1;
    for(int i = 0; i < n; i++){
        if(k%2==0){//right
            k /=2;
            ans += layers[n-i-1];
            ans%=mod;
        }
        else{//left
            k++;
            k /= 2;
        }
    }

    cout << ans << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...