Cod sursa(job #2842013)

Utilizator GargantuanRoOprea Rares GargantuanRo Data 30 ianuarie 2022 21:41:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;

ifstream cin("lgput.in");
ofstream cout("lgput.out");

long long FastExpo(long long a,long long b,long long mod)
{
    long long ans=1;
    while(b>=1)
    {
        a=a%mod;
        b=b%mod;
        ans=ans%mod;
        if(b%2==1)
        {
            ans=(1LL*ans*a)%mod;
            b--;
        }
        else
        {
            a=(1LL*a*a)%mod;
            b=b/2;
        }
    }
    return ans;
}

const long long mod=1999999973;
long long a,b;
long long sum=0;


int main()
{
    cin>>a>>b;
    sum+=FastExpo(a,b,mod);
    cout<<sum;
    return 0;
}