Cod sursa(job #3254866)

Utilizator not_anduAndu Scheusan not_andu Data 9 noiembrie 2024 09:33:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

#define INFILE "lgput.in"
#define OUTFILE "lgput.out"

typedef long long ll;

const ll MOD = 1999999973;

ll lgput(ll number, ll exponent){
    ll ans = 1;
    number %= MOD;
    while(exponent){
        if(exponent & 1) ans = (ans * number) % MOD;
        number = (number * number) % MOD;
        exponent >>= 1;
    }
    return (ans % MOD);
}

void solve(){

    ll n, p; cin >> n >> p;

    cout << lgput(n, p) << '\n';

}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
    freopen(INFILE, "r", stdin);
    freopen(OUTFILE, "w", stdout);
    solve();
    return 0;
}