Cod sursa(job #1205530)

Utilizator IonMosnoiIon Mosnoi IonMosnoi Data 7 iulie 2014 10:54:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.31 kb
#include<fstream>
#define ll long long
using namespace std;
ifstream cin("lgput.in");
ofstream cout("lgput.out");
const int mod = 1999999973;
ll a,n;

int main(){
	cin>>n>>a;
	int crt =1, nr=n;
	for(int p=1;p<=a;p=p<<1){
		if(p&a)crt = (1LL*crt*nr)%mod;
		nr = (1LL*nr*nr)%mod;
	}
	cout<<crt;
}