Luzhiled's Library

This documentation is automatically generated by competitive-verifier/competitive-verifier

View the Project on GitHub ei1333/library

:heavy_check_mark: test/verify/aoj-ntl-1-b.test.cpp

Depends on

Code

// clang-format off
// competitive-verifier: PROBLEM http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=NTL_1_B
// clang-format on

#include <iostream>

#include "../../math/combinatorics/mod-pow.hpp"

using namespace std;

int main() {
  long long M, N;
  cin >> M >> N;
  cout << mod_pow(M, N, 1000000007LL) << endl;
}
#line 1 "test/verify/aoj-ntl-1-b.test.cpp"
// clang-format off
// competitive-verifier: PROBLEM http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=NTL_1_B
// clang-format on

#include <iostream>

#line 2 "math/combinatorics/mod-pow.hpp"

#include <cstdint>

/**
 * @brief Mod Pow(べき乗)
 *
 */
template <typename T>
T mod_pow(T x, std::int64_t n, const T& p) {
  T ret = 1;
  while (n > 0) {
    if (n & 1) (ret *= x) %= p;
    (x *= x) %= p;
    n >>= 1;
  }
  return ret % p;
}
#line 8 "test/verify/aoj-ntl-1-b.test.cpp"

using namespace std;

int main() {
  long long M, N;
  cin >> M >> N;
  cout << mod_pow(M, N, 1000000007LL) << endl;
}

Test cases

Env Name Status Elapsed Memory
g++ 00_large_00 :heavy_check_mark: AC 3 ms 4 MB
g++ 00_large_01 :heavy_check_mark: AC 2 ms 4 MB
g++ 00_large_02 :heavy_check_mark: AC 2 ms 4 MB
g++ 00_large_03 :heavy_check_mark: AC 2 ms 4 MB
g++ 00_large_04 :heavy_check_mark: AC 2 ms 4 MB
g++ 00_large_05 :heavy_check_mark: AC 2 ms 4 MB
g++ 00_small_00 :heavy_check_mark: AC 2 ms 4 MB
g++ 00_small_01 :heavy_check_mark: AC 2 ms 4 MB
g++ 00_small_02 :heavy_check_mark: AC 2 ms 4 MB
g++ 00_small_03 :heavy_check_mark: AC 2 ms 4 MB
g++ 01_medium_00 :heavy_check_mark: AC 2 ms 4 MB
g++ 01_medium_01 :heavy_check_mark: AC 2 ms 4 MB
g++ 01_medium_02 :heavy_check_mark: AC 2 ms 4 MB
g++ 01_medium_03 :heavy_check_mark: AC 2 ms 4 MB
g++ 02_critical_00 :heavy_check_mark: AC 2 ms 4 MB
g++ 02_critical_01 :heavy_check_mark: AC 2 ms 4 MB
g++ 02_critical_02 :heavy_check_mark: AC 2 ms 4 MB
g++ 02_critical_03 :heavy_check_mark: AC 2 ms 4 MB
g++ 02_critical_04 :heavy_check_mark: AC 2 ms 4 MB
g++ 02_critical_05 :heavy_check_mark: AC 2 ms 4 MB
clang++ 00_large_00 :heavy_check_mark: AC 3 ms 4 MB
clang++ 00_large_01 :heavy_check_mark: AC 2 ms 4 MB
clang++ 00_large_02 :heavy_check_mark: AC 2 ms 4 MB
clang++ 00_large_03 :heavy_check_mark: AC 2 ms 4 MB
clang++ 00_large_04 :heavy_check_mark: AC 2 ms 4 MB
clang++ 00_large_05 :heavy_check_mark: AC 2 ms 4 MB
clang++ 00_small_00 :heavy_check_mark: AC 2 ms 4 MB
clang++ 00_small_01 :heavy_check_mark: AC 2 ms 4 MB
clang++ 00_small_02 :heavy_check_mark: AC 2 ms 4 MB
clang++ 00_small_03 :heavy_check_mark: AC 2 ms 4 MB
clang++ 01_medium_00 :heavy_check_mark: AC 2 ms 4 MB
clang++ 01_medium_01 :heavy_check_mark: AC 2 ms 4 MB
clang++ 01_medium_02 :heavy_check_mark: AC 2 ms 4 MB
clang++ 01_medium_03 :heavy_check_mark: AC 2 ms 4 MB
clang++ 02_critical_00 :heavy_check_mark: AC 2 ms 4 MB
clang++ 02_critical_01 :heavy_check_mark: AC 2 ms 4 MB
clang++ 02_critical_02 :heavy_check_mark: AC 2 ms 4 MB
clang++ 02_critical_03 :heavy_check_mark: AC 2 ms 4 MB
clang++ 02_critical_04 :heavy_check_mark: AC 2 ms 4 MB
clang++ 02_critical_05 :heavy_check_mark: AC 2 ms 4 MB
Back to top page