제출 #1269323

#제출 시각아이디문제언어결과실행 시간메모리
12693236ydgRack (eJOI19_rack)C++20
100 / 100
5 ms716 KiB
#include <iostream>
#include <vector>
#include <cmath>
#include <bitset>
using namespace std;

int main(){
    cin.tie(0);
    ios::sync_with_stdio(0);
    long long n,k;
    cin>>n>>k;
    k--;
    bitset<1000001> bits=k;
   //cout<<bits<<endl;
    bitset<1000001> bitnew;
    for(int i=0;i<n/2;i++){
            bitnew[i]=bits[n-1-i];
            bitnew[n-1-i]=bits[i];
            //cout<<i<<endl;
    }
    if(n%2==1){
        long long center=(n/2)+1;
        bitnew[center-1]=bits[center-1];
    //cout<<"center";
    }
    //cout<<bitnew<<endl;
    long long mod=1000000007;
    unsigned long long answ=1%mod;
    long long current=1;
    for(int i=0;i<n;i++){
        if(bitnew[i]){
            answ+=current;
        }
        current=(current*2)%mod;

    }
    answ=answ%mod;
    cout<<answ<<endl;


}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...