Cod sursa(job #2840984)

Utilizator gabriel10tm@gmail.comGabriel Marian [email protected] Data 29 ianuarie 2022 09:53:35
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#pragma region
#define _CRT_SECURE_NO_WARNINGS
#include <bits/stdc++.h>
#include <unordered_set>
#include <unordered_map>
#include <map>
typedef unsigned long long ull;
typedef long long ll;
typedef unsigned int uint;
#define endl '\n'
using namespace std;
#if 0
#include <fstream>
ifstream fin("pm.in");
ofstream fout("pm.out");
#define cin fin
#define cout fout
#endif
#pragma endregion

#include <bits/stdc++.h>
using namespace std;
const int MOD = 1999999973;
int main()
{
	ll n, p;
	cin >> n >> p;
	ll sol = 1;

	while (p)
	{
		if (p % 2 == 1)
			sol = (sol *n )%MOD;
		n = (n *n ) % MOD;
		p /= 2;
	}
	cout << sol;
}