제출 #464465

#제출 시각아이디문제언어결과실행 시간메모리
464465kilikumaRack (eJOI19_rack)C++14
100 / 100
19 ms15532 KiB
#include <bits/stdc++.h> using namespace std; long long MOD = (1000*1000*1000)+7; long long puis(int a, int b) { long long res =1 ; for (int i=0;i<b;i++) res = res*a; return res; } long long val(int niveau, long pos) { if (niveau == 1) { if (pos == 1) return 1; else return 2; } if (niveau >= 61) { long long res = val(niveau-1, pos); res = ((res*2) - 1)%MOD ; return res; } if (pos <= (puis(2, niveau-1))) { long long res = val(niveau-1, pos); res = ((res*2)- 1)%MOD; return res; } else { pos -= puis(2, niveau-1); long long res = val(niveau-1, pos); res = (res*2)%MOD; return res; } } int main() { long long n, k; cin >> n >> k; cout << val(n, k); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...