Cod sursa(job #2341220)

Utilizator pusneivictorVictor Pusnei pusneivictor Data 11 februarie 2019 18:04:29
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
unsigned long long modulo=1999999973;
unsigned long long LG(unsigned long long y);
unsigned long long x, y;
int main()
{
    fin>>x>>y;
    fout<<LG(y)<<'\n';
    return 0;
}
unsigned long long LG(unsigned long long y)
{
    if(y==1)    return x;
    int temp=LG(y/2)%modulo;
    if(y%2) return 1ll*((1ll*temp*temp)%modulo*x)%modulo;
    return 1ll*(1ll*temp*temp)%modulo;
}