Cod sursa(job #2566107)

Utilizator SqueekDanielTodasca Daniel SqueekDaniel Data 2 martie 2020 18:50:24
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <bits/stdc++.h>

#define MOD     1999999973

#define FILENAME    std::string("lgput")
std::ifstream input (FILENAME+".in");
std::ofstream output(FILENAME+".out");

int N, P;
int fastPow(int base, int exp) {
    if (exp == 0) return 1;
    int v = fastPow(base, exp/2);
    v = (1ll*v*v)%MOD;
    if (exp&1) v = (1ll*v*base)%MOD;
    return v;
}

int main()
{
    input >> N >> P;
    output << fastPow(N, P) << '\n';

    return 0;
}