Cod sursa(job #2701643)

Utilizator beingsebiPopa Sebastian beingsebi Data 31 ianuarie 2021 21:52:17
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
// #define f cin
// #define g cout
const int mod = 1999999973;
int lgput(int a, int b)
{
    a %= mod;
    b %= mod - 1;
    int p = 1;
    while (b)
    {
        if (b & 1)
            p = (1ll * p * a) % mod;
        a = (1ll * a * a) % mod;
        b >>= 1;
    }
    return p;
}
int main()
{
    ios_base::sync_with_stdio(false);
    f.tie(nullptr);
    g.tie(nullptr);
    int q = 1;
    for (int a, b; q; q--)
        f >> a >> b,
            g << lgput(a, b);
    return 0;
}