Cod sursa(job #2221138)

Utilizator danielsociuSociu Daniel danielsociu Data 13 iulie 2018 11:29:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.33 kb
#include <fstream>
std::ifstream cin("lgput.in");
std::ofstream cout("lgput.out");

int n,p;

int main()
{
    int mod=1999999973;
    cin>>n>>p;
    long long int s=n, sol=1;
    for(int i=0;(1<<i)<=p;++i){
        if(((1<<i)&p)>0)
            sol=(sol*s)%mod;
        s=(s*s)%mod;
    }
    cout<<sol%mod;
    return 0;
}