Submission #1094019

# Submission time Handle Problem Language Result Execution time Memory
1094019 2024-09-28T10:13:09 Z MrNanama Rack (eJOI19_rack) C++17
100 / 100
0 ms 348 KB
#include <bits/stdc++.h>
#define pb push_back
#define fi first
#define se second

using namespace std;
using ll = long long;
const ll MOD = (1000000007);

template <typename T> ostream& operator<<(ostream& os, const vector<T>& vec){for (auto itr : vec){os << itr << " ";} return os;}

ll n,k;
ll ans;

ll fpow(ll b, ll p){
	if(b == 0){return 0;}
	if(p == 0){return 1;}
	if(p == 1){return b;}

	ll a = fpow(b, p/2)%MOD;
	a = (a*a)%MOD;

	if(p%2){a = (a*b)%MOD;}

	return a%MOD;
}

void solve(){

	cin >> n >> k;
	ans = 0;
	k--;

	for(ll p=0; p<62; p++){
		if((k>>p)&1){
			ans = (ans+ fpow(2,n-p-1))%MOD;
		}
	}

	cout << ans+1 << endl;
}

int main(){

	ios_base::sync_with_stdio(false); cin.tie(NULL);

	solve();
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 0 ms 348 KB Output is correct
15 Correct 0 ms 348 KB Output is correct