Cod sursa(job #2685073)

Utilizator pielevladutPiele Vladut Stefan pielevladut Data 15 decembrie 2020 21:41:56
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <bits/stdc++.h>
#define int long long
#define MOD 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int n, p;
int lgput(int n, int p)
{
    int ans = 1, aux = n;
    for(int i = 1; i <= p; i *= 2)
    {
        if((p & i) != 0)
        {
            ans *= aux;
            ans %= MOD;
        }
        aux *= aux;
        aux %= MOD;
    }
    return ans;
}
int32_t main()
{
    fin >> n >> p;
    fout << lgput(n,p);
    return 0;
}