Cod sursa(job #2354198)

Utilizator BogdanRazvanBogdan Razvan BogdanRazvan Data 24 februarie 2019 23:48:10
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <iostream>
#define MOD 1999999973
using namespace std;
int solve(int n, int p)
{
    long long ans = 1;
    for(; p; p >>= 1) {
        if((p & 1) == 1) ans = (1LL * ans * n) % MOD;
        n = (1LL * n * n) % MOD;
    }
    return ans % MOD;
}
int main()
{
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    int n, p;
    scanf("%d%d", &n, &p);
    printf("%d", solve(n, p));
    return 0;
}