Cod sursa(job #1138943)

Utilizator andreiagAndrei Galusca andreiag Data 10 martie 2014 19:04:17
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <iostream>
#include <fstream>
#include <stdio.h>

using namespace std;
typedef long long ll;

const ll MOD = 1999999973;

ll mpow(ll N, ll P)
{
    if (P == 0) return 1;
    ll res = 1;
    if (P%2) res = N;
    res = res * mpow((N*N) % MOD, P/2);
    return res % MOD;
}


int main()
{
    ifstream f ("lgput.in");
    ofstream g ("lgput.out");

    ll N, P;
    f >> N >> P;
    g << mpow(N, P) << endl;
    return 0;
}