Cod sursa(job #3184482)

Utilizator BuruianaRaresAndreiBuruiana Rares Andrei BuruianaRaresAndrei Data 16 decembrie 2023 09:21:47
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.38 kb
#include <fstream>
#define MOD 1999999973

using namespace std;

ifstream cin("lgput.in");
ofstream cout("lgput.out");

int main()
{
    long long a, b;
    cin >> a >> b;
    long long sol = 1, p = a;
    for (int i = 1; i <= b; i <<= 1) {
        if (i & b) sol = (sol * p) % MOD;
        p = p * p;
        p %= MOD;
    }
    cout << sol << '\n';
    return 0;
}