Submission #216711

# Submission time Handle Problem Language Result Execution time Memory
216711 2020-03-27T20:56:51 Z MODDI Rack (eJOI19_rack) C++14
100 / 100
17 ms 8684 KB
#include <bits/stdc++.h>
using namespace std;
int MOD= 1e9 + 7;
int main()
{
	long long n, k;
	cin>>n>>k;
	vector<long long> pow_two;
	pow_two.push_back(1);
	long long at=1;
	for(int i=1;i<n;i++)
	{
		at*=2;
		at %= MOD;
		if(at < 0)
			return 0;
		pow_two.push_back(at);
	}
	long long rez=1;
	long long step=1;
	while(k!=1)
	{
		if(k%2==0)
		{
			rez+=pow_two[n-step];
			rez %= MOD;
			if(rez < 0)
				return 0;
			k-=k/2;
			step++;
		}
		else {
			step++;
			k-=k/2;
		}
	}
	cout<<rez<<endl;
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 4 ms 256 KB Output is correct
3 Correct 4 ms 256 KB Output is correct
4 Correct 4 ms 256 KB Output is correct
5 Correct 4 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 4 ms 256 KB Output is correct
3 Correct 4 ms 256 KB Output is correct
4 Correct 4 ms 256 KB Output is correct
5 Correct 4 ms 256 KB Output is correct
6 Correct 4 ms 256 KB Output is correct
7 Correct 4 ms 256 KB Output is correct
8 Correct 4 ms 256 KB Output is correct
9 Correct 4 ms 384 KB Output is correct
10 Correct 5 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 4 ms 256 KB Output is correct
3 Correct 4 ms 256 KB Output is correct
4 Correct 4 ms 256 KB Output is correct
5 Correct 4 ms 256 KB Output is correct
6 Correct 4 ms 256 KB Output is correct
7 Correct 4 ms 256 KB Output is correct
8 Correct 4 ms 256 KB Output is correct
9 Correct 4 ms 384 KB Output is correct
10 Correct 5 ms 256 KB Output is correct
11 Correct 4 ms 256 KB Output is correct
12 Correct 5 ms 384 KB Output is correct
13 Correct 5 ms 384 KB Output is correct
14 Correct 5 ms 1020 KB Output is correct
15 Correct 17 ms 8684 KB Output is correct