Cod sursa(job #2330190)

Utilizator igsifvevc avb igsi Data 28 ianuarie 2019 01:15:52
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.36 kb
#include <fstream>

const long long modulo = 1999999973;

int main() {
    std::ifstream fin("lgput.in");
    std::ofstream fout("lgput.out");

    long long n, p;
    fin >> n >> p;

    long long res = 1;
    for (long long b = n; p; p >>= 1, b = (b*b) % modulo)
    {
        if (p & 1)
            res *= b;
    }

    fout << res << std::endl;

    return 0;
}