Cod sursa(job #2908855)

Utilizator ciobyCiobanu Vlasie cioby Data 6 iunie 2022 16:05:49
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;
typedef unsigned long long ull;
ifstream fin("lgput.in");
ofstream fout("lgput.out");


ull a,b;
const long modulo=1999999973;

ull putere(ull a,ull b){

    /// varianta operatii pe biti
    ull p=1;
    for (ull i=1;i<=b;i=i<<1)
    {
        if (b&i){
            p*=a;
            p%=modulo;
        }
        a*=a;
        a%=modulo;
    }
    return p;
}

void solve(){

    fin>>a>>b;
    ///a la putere b
    ull ans=putere(a,b);
    fout<<ans;
}

int main(){
    solve();
}