Submission #467319

#TimeUsernameProblemLanguageResultExecution timeMemory
467319ignusRack (eJOI19_rack)C++14
100 / 100
5 ms288 KiB
#include <bits/stdc++.h>
using namespace std;

int main(int argc, char** argv) {
	int n; long long m; const int pain = 1e9+7;
	cin >> n >> m;
	m--;
	long long n2 = 1;
	for(int i = 0; i < n; i++) {
		n2*=2;
		n2%=pain;
	}
	long long fin=1;
	while(m>0){
		if(n2%2)n2+=pain;
		n2/=2;
		fin+=(m%2)*n2;
		fin%=pain;
		m/=2;
	}
	cout << fin;
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...