Cod sursa(job #2798804)

Utilizator vansJos da pa perete vans Data 11 noiembrie 2021 21:45:51
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int MOD = 1999999973;

int n, p;

inline ll plog(ll BAZA, const ll EXPONENT) {
    ll R = 1;
    BAZA %= MOD;
    for(ll i = 1; i <= EXPONENT; i <<= 1) {
        if(i & EXPONENT) R = R * BAZA % MOD;
        BAZA = BAZA * BAZA % MOD;
    }
    return R;
}

int main()
{
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    scanf("%d%d", &n, &p), printf("%lld", plog(n, p));
    return 0;
}