Submission #19642

#TimeUsernameProblemLanguageResultExecution timeMemory
19642suiΑ (kriii4_P1)C++14
100 / 100
0 ms1716 KiB
#define _CRT_SECURE_NO_WARNINGS // scanf(), gets() (needed for Visual C++) //#define NDEBUG #include <cassert> #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <functional> #include <string> #include <vector> #include <queue> #include <set> #include <map> #include <unordered_map> #include <stack> #include <deque> using namespace std; #define MEMSET(x, WITH) memset(x, (WITH), sizeof(x)) #define FOR(i, E) for(int i=0; i<(E); i++) #define REP(i, LO, HI) for(int i=(LO); i<=(HI); i++) #define GETINT(x) scanf("%d", &x) #define GETDBL(x) scanf("%lf", &x) #define GETSTR(x) scanf("%s", x) #define NEWINT(x) int x; scanf("%d", &x) #define NEWDBL(x) double x; scanf("%lf", &x) #define NEWLN putchar('\n') #ifdef _WIN32 #define popcnt __popcnt #else #define popcnt __builtin_popcount #endif typedef long long ll; //const ll MOD = 1000000007; //const double PI = atan(1) * 4; const ll MOD = 1000000007; int main() { ll a, n; cin >> a >> n; a = a % MOD; ll ans = 1; for (int i=62; i>=0; i--) { ans = ans * ans % MOD; if ((n>>i)&1) ans = ans * a % MOD; } cout << ans << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...