Cod sursa(job #2662850)

Utilizator AlexNicuNicu Alexandru AlexNicu Data 24 octombrie 2020 17:23:31
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
#include <cstdio>

using namespace std;
ifstream cin ( "lgput.in" );
ofstream cout ( "lgput.out" );
#define MOD 1999999973
int main()
{
    unsigned long long n, p, ans;
    cin >> n >> p;
    ans = 1;
    while ( p > 0 ) {
        if ( p % 2 == 1 ) {
           ans = ans * (n % MOD) % MOD;
        }
        n = ( n % MOD ) * ( n % MOD ) % MOD;
        p /= 2;
    }
    cout << ans;
    return 0;
}