Submission #19363

# Submission time Handle Problem Language Result Execution time Memory
19363 2016-02-24T10:41:21 Z ekfrl0526 Α (kriii4_P1) C++14
100 / 100
0 ms 1720 KB
#include<bits/stdc++.h>
using namespace std;

long long x, a;
const long long divs = 1000000007;
vector<long long> as;

void initial() {
	long long ia = a;;
	for (int i = 0; i < 64; i++) {
		if (ia >= divs) ia = ia%divs;
		as.push_back(ia);
		ia *= ia;
	}
}

int main() {
	scanf("%lld %lld", &a, &x);
	initial();
	int c=0;
	long long result = 1;
	while (x > 0) {
		if (x % 2 == 1) {
			result *= as[c];
			result %= divs;
		}
		x /= 2;
		c++;
	}
	cout << result << endl;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1720 KB Output is correct
2 Correct 0 ms 1720 KB Output is correct
3 Correct 0 ms 1720 KB Output is correct
4 Correct 0 ms 1720 KB Output is correct
5 Correct 0 ms 1720 KB Output is correct
6 Correct 0 ms 1720 KB Output is correct
7 Correct 0 ms 1720 KB Output is correct
8 Correct 0 ms 1720 KB Output is correct
9 Correct 0 ms 1720 KB Output is correct
10 Correct 0 ms 1720 KB Output is correct
11 Correct 0 ms 1720 KB Output is correct
12 Correct 0 ms 1720 KB Output is correct
13 Correct 0 ms 1720 KB Output is correct
14 Correct 0 ms 1720 KB Output is correct
15 Correct 0 ms 1720 KB Output is correct
16 Correct 0 ms 1720 KB Output is correct
17 Correct 0 ms 1720 KB Output is correct
18 Correct 0 ms 1720 KB Output is correct
19 Correct 0 ms 1720 KB Output is correct
20 Correct 0 ms 1720 KB Output is correct