Cod sursa(job #1415473)

Utilizator mihai.constantinConstantin Mihai mihai.constantin Data 4 aprilie 2015 18:33:16
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <cstdio>
#define MOD 1999999973
using namespace std;

long long pow,k;

int main()
{
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);

    long long answer=1;

    scanf("%lld %lld",&pow,&k);

    while(k)
    {
        if(k&1) // k%2==1
            answer=(answer*pow)%MOD;

        pow=pow*pow%MOD;
        k >>= 1; // k=k/2

    }

    printf("%lld",answer);

    return 0;
}