Cod sursa(job #1878800)

Utilizator sergiudnyTritean Sergiu sergiudny Data 14 februarie 2017 14:32:58
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int mod = 1999999973;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int main()
{
    unsigned int n,p; fin>>n>>p;
    ll 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;
}