Nu aveti permisiuni pentru a descarca fisierul grader_test11.ok

Cod sursa(job #1554906)

Utilizator cristiancCristian cristianc Data 21 decembrie 2015 22:26:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <fstream>
#define imp 1999999973
using namespace std;
int main()
{
	ifstream ii("lgput.in");
	ofstream oo("lgput.out");
	unsigned long long n, p, i, rest = 1, put = 1;  ii >> n >> p;
	unsigned long long r[32];  r[0] = n % imp;
	if (p % 2) rest = r[0];
	for (i = 1; i < 32; i++)
	{
		r[i] = (r[i-1]*r[i-1]) % imp;  put *= 2;
		if (p & put)
			rest = (rest * r[i]) % imp;
	}
	oo << rest;
}