Submission #1133699

#TimeUsernameProblemLanguageResultExecution timeMemory
1133699MunkhturErdenebatRack (eJOI19_rack)C++20
100 / 100
6 ms8004 KiB
#include<bits/stdc++.h>
#include<string.h>
#include <algorithm>
#include <stdlib.h>
#define fr first
#define sc second
 #define ll long long
using namespace std;
    ll a,b,c,d,e,f,m,i,j,n,h,g,l,r,ka,p,q,k[1000005],t[500005];
    map<ll,ll> maa,mii,mee;
    vector<ll> vis,vo,vi;
int main(){
    cin>>a>>b;
    l=0;
    r=a;
    k[0]=1;
    for(i=1 ; i<=a ; i++){
        k[i]=k[i-1]*2;
        k[i]=k[i]%1000000007;
    }
    g=1;
    h=0;
    while(b>1 ){
        h++;
        if(b%2==1){
            r--;
        }
        else{
            l++;
            g+=k[a-h];
            g=g%1000000007;
            
        }
        b=(b+1)/2;
    }
    cout<<g<<endl;
    
    
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...