AtCoder Typical Contest 002

Submission #6867399

Source codeソースコード

#include <algorithm>
#include <cmath>
#include <iostream>
#include <string>
#include <vector>

using namespace std;
typedef long long ll;

ll solve(ll N, ll M, ll k) {
  // Mで割る
  ll ans;
  if (k == 0) return 1;
  if (k % 2 == 0) {
    ll tmp = solve(N, M, k / 2);
    ans = (tmp % M) * (tmp % M);
  } else {
    ans = (solve(N, M, k - 1) % M) * (N % M);
  }
  ans = ans % M;
  return ans;
}

int main() {
  ll N, M, P;
  cin >> N >> M >> P;

  cout << solve(N, M, P) << endl;
  return 0;
}

Submission

Task問題 B - n^p mod m
User nameユーザ名 over110
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 100
Source lengthソースコード長 527 Byte
File nameファイル名
Exec time実行時間 1 ms
Memory usageメモリ使用量 256 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample -
All 100 / 100 001.txt,002.txt,003.txt,004.txt,005.txt,006.txt,007.txt,008.txt,009.txt,010.txt,011.txt,012.txt,013.txt,014.txt,015.txt,016.txt,017.txt,018.txt,019.txt,020.txt,021.txt,022.txt,023.txt,024.txt,025.txt,026.txt,027.txt,sample_01.txt,sample_02.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
001.txt AC 1 ms 256 KB
002.txt AC 1 ms 256 KB
003.txt AC 1 ms 256 KB
004.txt AC 1 ms 256 KB
005.txt AC 1 ms 256 KB
006.txt AC 1 ms 256 KB
007.txt AC 1 ms 256 KB
008.txt AC 1 ms 256 KB
009.txt AC 1 ms 256 KB
010.txt AC 1 ms 256 KB
011.txt AC 1 ms 256 KB
012.txt AC 1 ms 256 KB
013.txt AC 1 ms 256 KB
014.txt AC 1 ms 256 KB
015.txt AC 1 ms 256 KB
016.txt AC 1 ms 256 KB
017.txt AC 1 ms 256 KB
018.txt AC 1 ms 256 KB
019.txt AC 1 ms 256 KB
020.txt AC 1 ms 256 KB
021.txt AC 1 ms 256 KB
022.txt AC 1 ms 256 KB
023.txt AC 1 ms 256 KB
024.txt AC 1 ms 256 KB
025.txt AC 1 ms 256 KB
026.txt AC 1 ms 256 KB
027.txt AC 1 ms 256 KB
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB