Cod sursa(job #1976945)

Utilizator blatulInstitutul de Arta Gastronomica blatul Data 4 mai 2017 16:57:48
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <bits/stdc++.h>
using namespace std;

#define MOD 1999999973

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

int lgPow(int N, int P) {

    int rez = 1;

    while (P) {

        if (P & 1)
            rez = (1LL * rez * N) % MOD;

        N = (1LL * N * N) % MOD;
        P >>= 1;
    }

    return rez;
}

int main() {

    int N, P;

    fin >> N >> P;

    fout << lgPow(N, P);

    return 0;
}