Submission #19333

#TimeUsernameProblemLanguageResultExecution timeMemory
19333pangΑ (kriii4_P1)C++14
0 / 100
0 ms1720 KiB
#include<iostream> #include<math.h> #include<algorithm> #include<string> using namespace std; #define MOD 1000000007 long long value(int n, int a) { long long r = 1; long long cnt = (1 << n); //cout << cnt << endl; while (cnt--) { r *= r; r = r%MOD; } return r; } int main() { long long x, a; cin >> a; cin >> x; string s; while (x > 0) { s += '0' + (x & 1); x >>= 1; } reverse(s.begin(), s.end()); int l = s.length(); long long int ans = 1; //cout << s << endl; for (int i = 0; i < l; i++) { ans *= ans; ans = ans%MOD; if (s[i] == '1') { ans *= a; ans = ans%MOD; } } cout << ans << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...