Cod sursa(job #1915006)

Utilizator Constantin.Dragancea Constantin Constantin. Data 8 martie 2017 19:18:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <bits/stdc++.h>
#define m 1999999973
#define ull unsigned long long
using namespace std;

ull ans,n,p;

int lgput(ull x, ull j){
    ull ans=1;
    while(j){
        if (j%2==1){
            ans=(ans*x)%m;
            j--;
        }
        j/=2;
        x=(x*x)%m;
    }
    return ans;
}

int main(){
    ifstream cin ("lgput.in");
    ofstream cout ("lgput.out");
    cin>>n>>p;
    cout<<lgput(n,p);
    return 0;
}