Submission #650269

#TimeUsernameProblemLanguageResultExecution timeMemory
650269KenparRack (eJOI19_rack)C++17
100 / 100
13 ms8148 KiB
#include "bits/stdc++.h" using namespace std; #define ll long long #define endl '\n' const ll MOD = 1e9+7; const ll INF = 1e16; const int INT_INF = 1e9; const ll MAX = 1e6+1; ll pre[MAX + 5]; ll solve(ll cur, ll layer, ll ans){ ans %= MOD; if(layer == -1){ return ans; } if(cur % 2){ return solve((cur + 1)/2, layer-1, ans); } return solve((cur + 1)/2, layer-1, ans + pre[layer]); } void solve(){ ll a,b; cin>>a>>b; cout<<solve(b, a-1, 1); } int main() { cin.tie(NULL); ios::sync_with_stdio(NULL); int t = 1; pre[0] = 1; for(int i = 1; i < MAX + 4; i++){ pre[i] = (pre[i-1]*2)%MOD; } //cin >> t; while(t--){ solve(); cout<<endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...