Cod sursa(job #1654079)

Utilizator pickleVictor Andrei pickle Data 16 martie 2016 20:07:34
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <algorithm>
#include <bitset>
#include <cmath>
#include <fstream>
#include <iostream>
#include <queue>
#include <stack>
#include <string.h>
#include <string>
#include <vector>

using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");

const int MOD = 1999999973;

ll go(ll a, int p) {
  ll res = 1;
  while(p) {
    if (p&1)
      res = (res*a) % MOD;
    a = (a*a) % MOD;
    p /= 2;
  }
  return res;
}

int main() {
  int N, P;
  fin >> N >> P;
  fout << go(N, P) << endl;

  return 0;
}