Cod sursa(job #1375726)

Utilizator superman_01Avramescu Cristian superman_01 Data 5 martie 2015 14:07:22
Problema Ridicare la putere in timp logaritmic Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <iostream>
#include <fstream>

#define MOD 1999999973
using namespace std;

ifstream in ( "lgput.in" );
ofstream out ( "lgput.out" );
int P ;
long long  N ;
long long Sol;


int main ( void ){
   int i ;
   in >> N >> P ;
   Sol = 1 ;
   for ( i = 1; i <= N ; i*= 2 ){
      if ( P&i)
      Sol = ( 1LL*Sol*N) %MOD;
      N = ( 1LL*N*N)%MOD;
      }
   out << Sol ;
   return 0;
}