Submission #775341

#TimeUsernameProblemLanguageResultExecution timeMemory
775341vjudge1Rack (eJOI19_rack)C++17
100 / 100
8 ms468 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define mod 1000000007
#define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
vector <bool> v;

int32_t main(){
    faster
    int n,m;cin>>n>>m;
    m--;
    while(m>0){
        v.push_back(m%2);
        m/=2;
    }
    while(v.size()!=n){
        v.push_back(0);
    }
    reverse(v.begin(),v.end());
    int cev=0,gec=1;
    for(int i=0;i<n;i++){
        if(v[i]){
            cev+=gec;
        }
        gec*=2;
        cev%=mod;
        gec%=mod;
    }
    cout<<(cev+1)%mod<<'\n';
    return 0;
}

Compilation message (stderr)

rack.cpp: In function 'int32_t main()':
rack.cpp:16:19: warning: comparison of integer expressions of different signedness: 'std::vector<bool>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   16 |     while(v.size()!=n){
      |           ~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...