Cod sursa(job #2984235)

Utilizator etohirseCristi Cretu etohirse Data 23 februarie 2023 19:13:00
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.39 kb
#include <fstream>
#include <iostream>

using namespace std;

ifstream fin("lgput.in");
ofstream fout("lgput.out");

#define ull unsigned long long
#define M 1999999973

ull lgput(ull a, ull b) {
  ull ans(1);
  while (b) {
    if (b & 1) ans = (ans * a) % M;
    a = (a * a) % M;
    b >>= 1;
  }

  return ans;
}

ull a, b;

int main() {
  fin >> a >> b;
  fout << lgput(a, b) << '\n';
  return 0;
}