Cod sursa(job #2749208)

Utilizator Liviu_Ionut_MoantaMoanta Ionut Liviu Liviu_Ionut_Moanta Data 5 mai 2021 20:14:50
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long n,m,s,i,j,p,u,a,b,sol;
int main(){
    fin>>n>>p;
    n%=1999999973;
    sol=n;
    a=1;
    while(p>1){
        if(p%2==1){
            p--;
            a*=sol;
            a%=1999999973;
        }
        else{
            sol*=sol;
            sol%=1999999973;
            p=p/2;
        }
    }
    sol*=a;
    sol%=1999999973;
    fout<<sol;
    return 0;
}