提出 #46411797
ソースコード 拡げる
#include <bits/stdc++.h> using i64 = long long; int phi(int n) { int res = n; for (int i = 2; i * i <= n; i++) { if (n % i == 0) { while (n % i == 0) { n /= i; } res = res / i * (i - 1); } } if (n > 1) { res = res / n * (n - 1); } return res; } int power(int a, i64 b, int p) { int res = 1; for (; b; b /= 2, a = 1LL * a * a % p) { if (b % 2) { res = 1LL * res * a % p; } } return res; } int exgcd(int a, int b, int &x, int &y) { if (!b) { x = 1, y = 0; return a; } int g = exgcd(b, a % b, y, x); y -= a / b * x; return g; } i64 get(int a, int m) { if (m == 1) { return 1E9; } int p = phi(m); int x, y; int g = exgcd(m, p, x, y); i64 u = get(a, g); int v = (power(a, u, m) - u) % m; if (v < 0) { v += m; } i64 res = 1LL * (v / g) * y % (m / g); if (res < 0) { res += m / g; } u += res * p; return u; } void solve() { int a, m; std::cin >> a >> m; std::cout << get(a, m) << "\n"; } int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int t; std::cin >> t; while (t--) { solve(); } return 0; }
提出情報
提出日時 | |
---|---|
問題 | F - ModularPowerEquation!! |
ユーザ | jiangly |
言語 | C++ 20 (gcc 12.2) |
得点 | 1400 |
コード長 | 1425 Byte |
結果 | AC |
実行時間 | 5 ms |
メモリ | 3576 KiB |
ジャッジ結果
セット名 | Sample | All | ||||
---|---|---|---|---|---|---|
得点 / 配点 | 0 / 0 | 1400 / 1400 | ||||
結果 |
|
|
セット名 | テストケース |
---|---|
Sample | s1.txt, s2.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, 57.txt, 58.txt, 59.txt, 60.txt, 61.txt, 62.txt, 63.txt, 64.txt, 65.txt, 66.txt, 67.txt, 68.txt, s1.txt, s2.txt |
ケース名 | 結果 | 実行時間 | メモリ |
---|---|---|---|
01.txt | AC | 2 ms | 3564 KiB |
02.txt | AC | 2 ms | 3384 KiB |
03.txt | AC | 1 ms | 3536 KiB |
04.txt | AC | 1 ms | 3572 KiB |
05.txt | AC | 2 ms | 3392 KiB |
06.txt | AC | 1 ms | 3568 KiB |
07.txt | AC | 2 ms | 3572 KiB |
08.txt | AC | 2 ms | 3472 KiB |
09.txt | AC | 2 ms | 3456 KiB |
10.txt | AC | 2 ms | 3404 KiB |
11.txt | AC | 1 ms | 3408 KiB |
12.txt | AC | 1 ms | 3332 KiB |
13.txt | AC | 1 ms | 3564 KiB |
14.txt | AC | 1 ms | 3456 KiB |
15.txt | AC | 1 ms | 3456 KiB |
16.txt | AC | 1 ms | 3460 KiB |
17.txt | AC | 1 ms | 3432 KiB |
18.txt | AC | 1 ms | 3388 KiB |
19.txt | AC | 2 ms | 3404 KiB |
20.txt | AC | 2 ms | 3476 KiB |
21.txt | AC | 2 ms | 3568 KiB |
22.txt | AC | 2 ms | 3456 KiB |
23.txt | AC | 2 ms | 3412 KiB |
24.txt | AC | 1 ms | 3412 KiB |
25.txt | AC | 2 ms | 3568 KiB |
26.txt | AC | 2 ms | 3332 KiB |
27.txt | AC | 4 ms | 3328 KiB |
28.txt | AC | 5 ms | 3408 KiB |
29.txt | AC | 4 ms | 3460 KiB |
30.txt | AC | 4 ms | 3488 KiB |
31.txt | AC | 2 ms | 3368 KiB |
32.txt | AC | 2 ms | 3432 KiB |
33.txt | AC | 2 ms | 3332 KiB |
34.txt | AC | 2 ms | 3452 KiB |
35.txt | AC | 1 ms | 3332 KiB |
36.txt | AC | 1 ms | 3456 KiB |
37.txt | AC | 1 ms | 3416 KiB |
38.txt | AC | 2 ms | 3536 KiB |
39.txt | AC | 2 ms | 3388 KiB |
40.txt | AC | 2 ms | 3452 KiB |
41.txt | AC | 2 ms | 3452 KiB |
42.txt | AC | 2 ms | 3408 KiB |
43.txt | AC | 1 ms | 3564 KiB |
44.txt | AC | 1 ms | 3568 KiB |
45.txt | AC | 1 ms | 3396 KiB |
46.txt | AC | 2 ms | 3568 KiB |
47.txt | AC | 1 ms | 3452 KiB |
48.txt | AC | 1 ms | 3448 KiB |
49.txt | AC | 1 ms | 3472 KiB |
50.txt | AC | 1 ms | 3432 KiB |
51.txt | AC | 1 ms | 3468 KiB |
52.txt | AC | 1 ms | 3332 KiB |
53.txt | AC | 1 ms | 3332 KiB |
54.txt | AC | 1 ms | 3412 KiB |
55.txt | AC | 1 ms | 3472 KiB |
56.txt | AC | 1 ms | 3480 KiB |
57.txt | AC | 1 ms | 3332 KiB |
58.txt | AC | 1 ms | 3564 KiB |
59.txt | AC | 1 ms | 3472 KiB |
60.txt | AC | 1 ms | 3576 KiB |
61.txt | AC | 1 ms | 3412 KiB |
62.txt | AC | 1 ms | 3428 KiB |
63.txt | AC | 1 ms | 3416 KiB |
64.txt | AC | 1 ms | 3416 KiB |
65.txt | AC | 1 ms | 3572 KiB |
66.txt | AC | 1 ms | 3452 KiB |
67.txt | AC | 1 ms | 3468 KiB |
68.txt | AC | 1 ms | 3400 KiB |
s1.txt | AC | 1 ms | 3560 KiB |
s2.txt | AC | 1 ms | 3504 KiB |