Cod sursa(job #2375549)

Utilizator ardutgamerAndrei Bancila ardutgamer Data 8 martie 2019 10:32:00
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <cstdio>
#define MOD 1999999973

using namespace std;

inline long long lgput(long long n,long long p)
{
    if(p == 0)
        return 1;
    if(p == 1)
        return n%MOD;
    if(p&1)
        return n*lgput((n*n)%MOD,(p-1)>>1)%MOD;
    else
        return lgput((n*n)%MOD,p>>1)%MOD;
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    long long x,y;
    scanf("%lld%lld",&x,&y);
    printf("%lld",lgput(x,y));
    return 0;
}