Cod sursa(job #583662)

Utilizator darrenRares Buhai darren Data 21 aprilie 2011 17:58:08
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>

using namespace std;

const int MOD = 1999999973;
unsigned int N, P;
long long result = 1;

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

    fin >> N >> P;

    long long step = N;
    for (long long i = 1; i <= P; i <<= 1)
    {
        if (P & i) result *= step;
        step *= step;

        step %= MOD, result %= MOD;
    }

    fout << result;

    fin.close();
    fout.close();
}