Cod sursa(job #1712525)

Utilizator dcutitoiuCutitoiu Adrian-Nicolae dcutitoiu Data 2 iunie 2016 23:39:18
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>
#include <fstream>
#include <map>
#include <vector>
#include <algorithm>
#include <tuple>

using namespace std;

long long power(long long N, long long P){
    if(P == 0)
        return 1;

    long long X = power(N, P/2)%1999999973;

    if(P%2==1)
        return (1LL*X*X*N)%1999999973;
    else
        return (1LL*X*X)%1999999973;
}

int main(){

    int N, P;

    ifstream in("lgput.in");
    ofstream out("lgput.out");

    in>>N>>P;

    out<<power(N,P);

    return 0;
}