Cod sursa(job #2025844)

Utilizator matei8787Matei Dobrea matei8787 Data 23 septembrie 2017 12:52:03
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<cstdio>
using namespace std;
int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    long long n,p,cn,ans;
    scanf( "%lld%lld" , &n,&p );
    cn = n;
    for ( int i = 1 ; p >= 1 ; i++ ){
        if ( p % 2 == 1 ){
            n *= cn % 1999999973;
            p--;
        }
        else{
            n *= n % 1999999973;
            p /= 2;
        }
    }
    printf ("%lld",n/2);
    return 0;
}