Cod sursa(job #892086)

Utilizator BeilandArnoldArnold Beiland BeilandArnold Data 25 februarie 2013 22:12:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include <fstream>

const unsigned long long MOD=1999999973;

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

    unsigned long long n,p; fin>>n>>p;
    unsigned long long sol=1;
    n%=MOD;
    while(p>0){
        if(p&1) sol=(sol%MOD)*(n%MOD)%MOD;
        p>>=1;
        n=n*n%MOD;
    }
    fout<<sol<<'\n';

}