제출 #607268

#제출 시각아이디문제언어결과실행 시간메모리
607268xtkRack (eJOI19_rack)C++17
40 / 100
2 ms312 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize("Ofast") // #define int long long #define fi first #define se second #define pb push_back #define mp make_pair const int MAXN=1e6+7; const int MOD=1e9+7; long long szybkie_potowanie(long long a, long long n) { long long w = 1; while (n>0) { if (n%2==1) { w=(w*a)%MOD; } a = (a*a)%MOD; n/=2; } return w; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long n, k; cin>>n>>k; k--; long long ans=1; for (int i=1; i<=n; ++i) { if(k%2==1) { ans = (long long)ans*2+1LL; ans = ans % MOD; } else { ans = (long long)ans*2; ans = ans % MOD; } k/=2; } long long pow = szybkie_potowanie(2, n)-1LL; cout<<(long long)ans-pow<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...