Cod sursa(job #2449101)

Utilizator TheGodFather2131Alexandru Miclea TheGodFather2131 Data 18 august 2019 10:20:57
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
//ALEXANDRU MICLEA

#include <vector>
#include <algorithm>
#include <string>
#include <queue>
#include <map>
#include <set>
#include <unordered_map>
#include <time.h>
#include <iomanip>
#include <deque>
#include <math.h>
#include <cmath>
#include <assert.h>
#include <stack>
#include <bitset>
#include <random>
#include <chrono>

using namespace std;

#include <fstream>
ifstream cin("lgput.in"); ofstream cout("lgput.out");

const int MOD = 1999999973;

long long lgput(long long n, long long p) {
	long long ans = 1;
	while (p) {
		if (p % 2 != 0) {
			ans *= n;
		}
		ans *= n % MOD;
		p /= 2;
	}
	return ans % MOD;
}

int main() {

	int n, p;
	cin >> n >> p;
	cout << lgput(n, p);
	return 0;
}