Cod sursa(job #2349298)

Utilizator fremenFremen fremen Data 20 februarie 2019 12:48:59
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;

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

const long long MOD = 1999999973;
long long n, p;

int main() {

    fin >> n >> p;

    long long s = 1;
    long long a = n;
    for (int i = 1; i <= p; i <<= 1) {
        if (i & p) {
            s = (s * a) % MOD;
        }
        a = (a * a) % MOD;
    }

    fout << s;

    fout.close();
    return 0;
}