Cod sursa(job #2591284)

Utilizator OvidRata Ovidiu Ovid Data 30 martie 2020 11:46:59
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include<bits/stdc++.h>
using namespace std;
#define mp make_pair
#define pb push_back
#define ft first
#define sc second
#define ll long long
#define MOD 1999999973



ifstream fin("lgput.in"); ofstream fout("lgput.out");

ll u, v;




ll min(ll a, ll b){
if(a<b){return a;}
else{return b;}
}

ll logp(ll b, ll e){


if(e==0){return 1;}


if(e%2==1){
    return ((b%MOD)*(logp(  (b%MOD)*(b%MOD), (e-1)/2 )%MOD))%MOD;
}


if(e%2==0){
    return logp(  (b%MOD)*(b%MOD), e/2 )%MOD;
}

}





int main(){
fin>>u>>v;


fout<<logp(u, v);



return 0;
}