Submission #270216

#TimeUsernameProblemLanguageResultExecution timeMemory
270216JuliusMieliauskasRack (eJOI19_rack)C++14
100 / 100
13 ms2488 KiB
#include <bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() #define vi vector<int> #define vll vector<long long> #define MOD 1000000007 #define endl '\n' typedef long long ll; void print(vi v){ cout<<"Contents of vector:\n"; for(auto x : v) cout<<x<<" "; cout<<endl<<endl; } ll stringToLL(string s){ ll dec_value = 0ll; ll base = 1ll; for (int i = s.length() - 1; i >= 0; i--) { if (s[i] == '1') dec_value += base%MOD; base = (base * 2ll)%MOD; dec_value = dec_value%MOD; } return dec_value%MOD; } void solve(){ ll n, k; cin>>n>>k; string s = ""; k--; for(int i = 0; i<n; i++){ if((1ll<<i) > k) { for(int j = i; j<n; j++) s += '0'; break; } if (k & (1ll<<i)) { s += '1'; } else { s += '0'; } } //reverse(all(s)); //cout<<"S: "<<s<<endl; ll ans = stringToLL(s)%MOD; cout<<(ans+1)%MOD<<endl; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); //ifstream cin("input.txt"); ofstream cout("output.txt");///cia failai //int T; cin>>T; int T = 1; for(int it = 1; it<=T; it++){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...