Cod sursa(job #729526)

Utilizator paulbotabota paul paulbota Data 29 martie 2012 18:14:57
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include<fstream>
#define maxn 10001
#define modulo 1999999973

using namespace std;

ifstream in("lgput.in");
ofstream out("lgput.out");

int main()
{
	unsigned int n,p;
	long long sol=1,nr;
	in>>n>>p;
	nr=n;
	for(int i=0;(1<<i)<=p;++i)
	{
		if ( ((1<<i) & p) > 0)
			sol=(sol*nr)%modulo;
		nr=(nr*nr)%modulo;
	}
	out<<sol<<"\n";
}