제출 #1050835

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

using namespace std;

const int mod = 10e9+7;

int n, k;

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

    vector<int> layers(n);

    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";
}

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

rack.cpp:5:21: warning: overflow in conversion from 'double' to 'int' changes value from '1.0000000007e+10' to '2147483647' [-Woverflow]
    5 | const int mod = 10e9+7;
      |                 ~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...