Submission #237590

#TimeUsernameProblemLanguageResultExecution timeMemory
237590tb_03Rack (eJOI19_rack)C++14
40 / 100
5 ms384 KiB
#include <iostream>
#include <math.h>
 
using namespace std;
typedef unsigned long long ll;
 
	const ll modulo = 1000000007;
	int n, k;
	ll ans = 1;
 
	void recursiva(int level, int casacos)
	{
		if (level == 0)
			return;
 
		if (casacos % 2 == 0)
			recursiva(level - 1, casacos / 2);
		else
		{
			ans = (((ll)powl(2, (level - 1)) % modulo) + ans) % modulo;
			recursiva(level - 1, (casacos - 1) / 2);
		}
	}
 
	int main()
	{
		cin >> n >> k;
		recursiva(n, k - 1);
		cout << ans << endl;
		return 0;
	}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...