Cod sursa(job #2194706)

Utilizator timar_andreiTimar Andrei timar_andrei Data 14 aprilie 2018 10:19:25
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <iostream>
#include <fstream>

#define MOD 1999999973

using namespace std;

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

int main()
{
    int N,P;

    fin>>N>>P;

    long long a,sol=1;
    a = N;
    for(int i=0;(1<<i)<=P;i++)
    {
        if (((1<<i) & P) > 0)
            sol = (sol*a)%MOD;
        a = (a*a)%MOD;
    }
    fout<<sol;
    return 0;
}