Cod sursa(job #2519860)

Utilizator filicriFilip Crisan filicri Data 8 ianuarie 2020 15:12:53
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#define MOD 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");

long long a, b, sol=1;

long long calculate() {
    f>>a>>b;
    if(b==0)
        return 1;
    if(b==1)
        return a;
    while(b) {
        if(b%2==1) {
            sol=(sol%MOD*a%MOD)%MOD;
            b--;
        }
        a=(a*a)%MOD;
        b/=2;
    }
    return sol%MOD;
}

int main() {
    g<<calculate();

    return 0;
}