Cod sursa(job #1746850)

Utilizator MiricaMateiMirica Matei MiricaMatei Data 24 august 2016 00:53:57
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <cstdio>
using namespace std;
const int MOD = 1999999973;
long long my_pow(long long n, long long p){
    long long ans = 1;
    for (; p; p >>= 1){
        if (p & 1)
            ans = (ans * n) % MOD;
        n = (n * n) % MOD;
    }
    return ans;
}
int main(){
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    long long n, p;
    scanf("%lld%lld", &n, &p);
    printf("%lld\n", my_pow(n % MOD, p));
    return 0;
}