Submission #19345

# Submission time Handle Problem Language Result Execution time Memory
19345 2016-02-24T10:18:32 Z shjgkwo Α (kriii4_P1) C++
100 / 100
0 ms 1084 KB
#include <stdio.h>
#define MOD 1000000007
int main() {
	long long n, m;
	bool o[66];
	int e = 0;
	scanf("%lld", &n);
	scanf("%lld", &m);
	while (m > 0) {
		o[e++] = m & 1;
		m >>= 1;
	}
	n %= MOD;
	long long ans = 1;
	while (e--) {
		ans *= ans;
		ans %= MOD;
		if (o[e]) {
			ans *= n;
			ans %= MOD;
		}
	}
	printf("%lld", ans);
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1084 KB Output is correct
2 Correct 0 ms 1084 KB Output is correct
3 Correct 0 ms 1084 KB Output is correct
4 Correct 0 ms 1084 KB Output is correct
5 Correct 0 ms 1084 KB Output is correct
6 Correct 0 ms 1084 KB Output is correct
7 Correct 0 ms 1084 KB Output is correct
8 Correct 0 ms 1084 KB Output is correct
9 Correct 0 ms 1084 KB Output is correct
10 Correct 0 ms 1084 KB Output is correct
11 Correct 0 ms 1084 KB Output is correct
12 Correct 0 ms 1084 KB Output is correct
13 Correct 0 ms 1084 KB Output is correct
14 Correct 0 ms 1084 KB Output is correct
15 Correct 0 ms 1084 KB Output is correct
16 Correct 0 ms 1084 KB Output is correct
17 Correct 0 ms 1084 KB Output is correct
18 Correct 0 ms 1084 KB Output is correct
19 Correct 0 ms 1084 KB Output is correct
20 Correct 0 ms 1084 KB Output is correct