Cod sursa(job #2371418)

Utilizator _Tudor_Tudor C _Tudor_ Data 6 martie 2019 17:32:28
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.42 kb
#include <bits/stdc++.h>
using namespace std;

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

#define REST 1999999973

int main()
{
    long long n, p;
    fin >> n >> p;

    long long put = n, rez = 1;

    for(int i = 0; (1 << i) <= p; ++i)
    {
        if((p & (1 << i)) > 0)
        {
            rez = (rez * put) % REST;
        }

        put = (put * put) % REST;
    }
    fout << rez;
}