Cod sursa(job #1413788)

Utilizator PureGPureGains PureG Data 2 aprilie 2015 08:47:45
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
/*
    Keep It Simple!
*/

#include <vector>
#include <fstream>
#include <queue>

using namespace std;

const int kMaxN = 1025;
const long long kMod = 1999999973;

int N,P;

void Solve() {
    ifstream fin("lgput.in");
        fin >> N >> P;
    fin.close();

    long long sol = 1;
    while (P) {
        if(P&1)
            sol = (sol*N)%kMod;
        N = (N*N)%kMod;
        P >>= 1;
    }

    ofstream fout("lgput.out");
    fout << sol << '\n';
    fout.close();
}

int main() {
    Solve();
    return 0;
}