Cod sursa(job #2419555)

Utilizator AndreiStrAndrei Stroici AndreiStr Data 8 mai 2019 20:20:28
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.42 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
const int N=1999999973;
int64_t n,x=1,p,a;
int64_t putere()
{
    int64_t b=1;
    while(p)
    {
        if((p&1))
        {
            b=(b%N)*(n%N)%N;
            p--;
        }
        n=(n*N)*(n%N)%N;
        p=p>>1;
    }
    return b;
}

int main()
{
    f>>n>>p;
    g<<putere();
    return 0;
}