Cod sursa(job #1733296)

Utilizator Kln1000Ciobanu Bogdan Kln1000 Data 24 iulie 2016 13:23:38
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
#include <bitset>

using namespace std;

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

long long x,y;
const long long mod=1999999973;

long long powerlift (long long n)
{
    long long x1=x%mod;
    for (int i=0; i<n; ++i)
        x1*=x1%mod;
    return x1%mod;
}

void magic()
{
    long long n=1;
    bitset <65> v(y);
    for (int i=0; i<64; ++i)
        if (v[i])
            n*=powerlift(i)%mod;
    t<<n%mod;
}

int main()
{
    f>>x>>y;
    magic();
    return 0;
}