Cod sursa(job #1101492)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 8 februarie 2014 16:04:04
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <algorithm>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <bitset>
#include <queue>
#include <cmath>
#define mod 1999999973
#define ll long long
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");

ll N, P;

ll lgput(ll baza, ll exp)
{
    ll res=1;
    while (exp)
    {
        if (exp%2) res=(1LL*res*baza)%mod;
            else baza=(1LL*baza*baza)%mod;
        exp/=2;
    }
    return res;
}

int main()
{
    f>>N>>P;
    g<<lgput(N, P)<<'\n';
    return 0;
}