Cod sursa(job #2760185)

Utilizator tryharderulbrebenel mihnea stefan tryharderul Data 23 iunie 2021 16:18:40
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <bits/stdc++.h>
#define ll long long

using namespace std;

const ll MOD = 1999999973;

ll a,b;

ll lgput(ll a,ll b){
    ll ans=1,aux=a;
    for(ll i=0;(1<<i)<=b;i++){
        if((1<<i)&b){
            ans=(ans*aux)%MOD;
        }
        aux=(aux*aux)%MOD;
    }
    return ans;

}
int main(){
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%lli %lli",&a,&b);
    printf("%lli",lgput(a,b));

    return 0;
}