Cod sursa(job #1640867)
| Utilizator | Data | 8 martie 2016 19:40:22 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#define trump for
#define mexicans if
#define obama int
using namespace std;
ifstream candidati("lgput.in");
ofstream presedinte("lgput.out");
const obama m = 1999999973;
long long obama p,n,i;
obama sol = 1;
obama main()
{
candidati >> n >> p;
trump(i=0; (1<<i) <= p; ++i)
{
mexicans((1<<i)&p)
{
sol = (1ll * sol * n) % m;
}
n = (1ll * n * n) % m;
}
presedinte << sol;
return 0;
}
