제출 #1099077

#제출 시각아이디문제언어결과실행 시간메모리
1099077vjudge1Rack (eJOI19_rack)C++17
100 / 100
1 ms604 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

const int MOD = 1e9 + 7;

int binpow(int a, int b){
    if(!b) return 1;
    else if(b % 2 == 0){
        int x = binpow(a, b / 2);
        return (x * x) % MOD;
    }else{
        int x = binpow(a, b / 2);
        x = (x * x) % MOD;
        return (x * a) % MOD;
    }
}

signed main(){
    int n, k; cin >> n >> k;
    int cnt = 0;
    int ans = 1;
    int pp = binpow(2, n - 1) % MOD;

    
    while(k > 1){
        if (k % 2 == 0) {
            k--;
            
            ans += pp;
            ans %= MOD;
            
        }
        
        k -= (k - 1) / 2;
        
        pp = (pp * binpow(2, MOD - 2) % MOD) % MOD;
        pp %= MOD;
    }
    cout << ans << endl;
}

컴파일 시 표준 에러 (stderr) 메시지

rack.cpp: In function 'int main()':
rack.cpp:21:9: warning: unused variable 'cnt' [-Wunused-variable]
   21 |     int cnt = 0;
      |         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...