Cod sursa(job #3259658)

Utilizator SilviuC25Silviu Chisalita SilviuC25 Data 27 noiembrie 2024 10:28:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <bits/stdc++.h>
using namespace std;

const long long MOD = 1999999973;

long long expPow(long long x, long long y, long long result) {
    if (y == 0) {
        return result;
    }
    if (y % 2) {
        return expPow((x * x) % MOD, y / 2, (result * x) % MOD);
    }
    return expPow((x * x) % MOD, y / 2, result);
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    long long x, y;
    cin >> x >> y;
    cout << expPow(x, y, 1LL);
    return 0;
}