Cod sursa(job #1564216)

Utilizator seby5381Marinescu Sebastian seby5381 Data 9 ianuarie 2016 12:45:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<cstdio>
#include<cstring>
#include<algorithm>
#define Mod 1999999973
using namespace std;
long long a,n,p,i,sol;
int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%lld%lld",&n,&p);
	a=n;
	sol=1;
	for(i=0;(1<<i)<=p;i++)
    {
        if(((1<<i)&p)>0) sol=(sol*a)%Mod;
        a=(a*a)%Mod;
    }
    printf("%lld",sol);
	return 0;
}