Cod sursa(job #1365495)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 28 februarie 2015 12:20:52
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
#include <vector>

using namespace std;

const int mod = 1999999973;

inline int lgpow(int a, int b) {
    a %= mod;
    int ans = 1;
    for( ; b ; b >>= 1) {
        if(b & 1)
            ans = (1LL * ans * a) % mod;
        a = (1LL * a * a) % mod;
    }
    return ans;
}

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

    int n, p;
    fin >> n >> p;
    fout << lgpow(n, p) << '\n';
}