Cod sursa(job #855790)

Utilizator cont_de_testeCont Teste cont_de_teste Data 15 ianuarie 2013 17:08:20
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <ctime>
using namespace std;
const int MOD = 1999999973;
int N, P;
inline int lgp (int N, int P) {
    int sol = 1;
    for (; P; P >>= 1) {
        if (P & 1) sol = (1LL * sol * N) % MOD;
        N = (1LL * N * N) % MOD;
    }
    return sol;
}

int main (void) {
    freopen ("lgput.in", "r", stdin);
    freopen ("lgput.out", "w", stdout);

    scanf ("%d %d", &N, &P);
    printf ("%d", lgp (N, P));
}