Cod sursa(job #2320676)

Utilizator andra_moldovanAndra Moldovan andra_moldovan Data 14 ianuarie 2019 23:43:14
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

#define mod 1999999973

using namespace std;

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

inline void Read(long long &baza, long long &exp) {
    fin >> baza >> exp;
}

inline long long Solve(long long baza, long long exp) {
    long long sol = 1;
    while (exp) {
        if (exp % 2 == 1) {
            sol *= baza; sol %= mod;
            exp--;
        }
        exp /= 2;
        baza *= baza;


    }
    return sol;
}

int main () {
    long long baza, exp;
    Read(baza, exp);

    fout << Solve(baza, exp);

    fin.close(); fout.close(); return 0;
}