Cod sursa(job #2792391)

Utilizator Vasile_AndreiVasile Andrei Calin Vasile_Andrei Data 1 noiembrie 2021 16:11:10
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>

using namespace std;

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

long long mod(long long a) {
    return a%1999999973;
}

long long pow(long long a, long long b) {
    if (b==0) return 1;
    else if(b%2==1) return mod(pow(a, (b-1)/2)*pow(a, (b-1)/2)*mod(a));
    return mod(pow(a, b/2)*pow(a, b/2));
}

int main() {
    long long a,b;
    in>>a>>b;
    out<<mod(pow(a, b));

    in.close();
    out.close();
    return 0;
}