Cod sursa(job #1959438)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 9 aprilie 2017 15:00:47
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstring>
#include <cstdio>
#include <vector>
#include <queue>
#include <algorithm>
#include <cmath>
#define MaxN 100005
#define MOD 1999999973
using namespace std;

FILE*IN,*OUT;

int N,P;
long long LogPow(long long base,long long exp)
{
	long long ans=1;
	for(int i=0;i<32;i++)
	{
		if(exp&(1<<i))
			ans=(ans*base)%MOD;
		base=(base*base)%MOD;
	}
	return ans;
}

int main()
{
	IN=fopen("lgput.in","r");
	OUT=fopen("lgput.out","w");

	fscanf(IN,"%d%d",&N,&P);
	fprintf(OUT,"%lld",LogPow(N,P));
	return 0;
}