Cod sursa(job #2351627)

Utilizator DimaTCDima Trubca DimaTC Data 22 februarie 2019 16:26:43
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.34 kb
#include<bits/stdc++.h>
#define M 1999999973
#define ll long long
using namespace std;

ll n,p,rs, b;

int main() {
    ifstream cin("lgput.in"); ofstream cout("lgput.out");
    cin>>n>>p;
    b=n; rs=1;
    for (int i=0; (1<<i)<=p;  ++i) {
        if (p & (1<<i)) rs=(rs*b)%M;
        b=(b*b)%M;
    }
    cout<<rs;

    return 0;
}