Cod sursa(job #1960263)

Utilizator MaligMamaliga cu smantana Malig Data 10 aprilie 2017 12:23:07
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <sstream>
#include <chrono>
#include <thread>
#include <cstdlib>

using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");

typedef long long ll;
const ll mod = 1999999973;

ll N,K;

int main() {
    in>>N>>K;

    ll res = 1;
    while (K) {
        if (K&1) {
            res = (res * N) % mod;
        }
        N = (N*N) % mod;
        K >>= 1;
    }

    out<<res<<'\n';
    in.close();out.close();
    return EXIT_SUCCESS;
}