Cod sursa(job #2069887)

Utilizator danny794Dan Danaila danny794 Data 18 noiembrie 2017 22:12:36
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <fstream>

#define MOD 1999999973
typedef long long ll;

ll n, p;
std::ifstream cin("lgput.in");
std::ofstream cout("lgput.out");

ll power(ll n, ll p) {
  if (p == 0) {
    return 1;
  }
  ll result = power(n * n % MOD, p / 2);
  if (p % 2 == 1) {
    result = result * n % MOD;
  }
  return result;
}

int main() {
  cin >> n >> p;
  cout << power(n, p);
  return 0;
}