Cod sursa(job #1375726)
Utilizator | 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;
}