Submission #2559962
Source Code Expand
#include <iostream> #include <vector> using namespace std; long long N, C = 1; vector<long long>R; long long gcd(long long a, long long b) { if (b == 0) return a; return gcd(b, a%b); } int main() { cin >> N; for (int i = 2; i*i <= N; i++) { if (N%i == 0) { N /= i; R.push_back(i); if (N%i == 0) { cout << "-1" << endl; return 0; } } } if (N >= 2) { R.push_back(N); } if (R.size() <= 1) { cout << "1" << endl; return 0; } if (R.size() >= 3 || R[0] == 2) { cout << "-1" << endl; return 0; } long long a = R[0], b = R[1], c = 1, s = -1, t = -1; for (int i = 1; i <= b / 2; i++) { c *= a; c %= (b - 1); if (c == 1) { s = i; break; } } c = 1; for (int i = 1; i <= a / 2; i++) { c *= b; c %= (a - 1); if (c == 1) { t = i; break; } } if (s == -1 || t == -1) { cout << "-1" << endl; } else { cout << s*t / gcd(s, t) << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Identity Function |
User | E869120 |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 903 Byte |
Status | AC |
Exec Time | 2359 ms |
Memory | 256 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_sample_00, 00_sample_01, 00_sample_02, 20_mini_00, 20_mini_01, 20_mini_02, 20_mini_03, 20_mini_04, 20_mini_05, 20_mini_06, 20_mini_07, 20_mini_08, 20_mini_09, 20_mini_10, 20_mini_11, 20_mini_12, 20_mini_13, 20_mini_14, 20_mini_15, 20_mini_16, 20_mini_17, 20_mini_18, 20_mini_19, 30_square_00, 30_square_01, 30_square_02, 30_square_03, 30_square_04, 30_square_05, 30_square_06, 30_square_07, 30_square_08, 30_square_09, 30_square_10, 30_square_11, 30_square_12, 30_square_13, 30_square_14, 30_square_15, 30_square_16, 30_square_17, 30_square_18, 30_square_19, 40_maxrandom_00, 40_maxrandom_01, 40_maxrandom_02, 40_maxrandom_03, 40_maxrandom_04, 40_maxrandom_05, 40_maxrandom_06, 40_maxrandom_07, 40_maxrandom_08, 40_maxrandom_09, 40_maxrandom_10, 40_maxrandom_11, 40_maxrandom_12, 40_maxrandom_13, 40_maxrandom_14, 40_maxrandom_15, 40_maxrandom_16, 40_maxrandom_17, 40_maxrandom_18, 40_maxrandom_19, 50_impossible_00, 50_impossible_01, 50_impossible_02, 50_impossible_03, 50_impossible_04, 50_impossible_05, 50_impossible_06, 50_impossible_07, 50_impossible_08, 50_impossible_09, 60_biganswer_00, 60_biganswer_01, 60_biganswer_02, 60_biganswer_03, 60_biganswer_04, 60_biganswer_05, 60_biganswer_06, 60_biganswer_07, 60_biganswer_08, 60_biganswer_09 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00 | AC | 1 ms | 256 KB |
00_sample_01 | AC | 1 ms | 256 KB |
00_sample_02 | AC | 1 ms | 256 KB |
20_mini_00 | AC | 1 ms | 256 KB |
20_mini_01 | AC | 1 ms | 256 KB |
20_mini_02 | AC | 1 ms | 256 KB |
20_mini_03 | AC | 1 ms | 256 KB |
20_mini_04 | AC | 1 ms | 256 KB |
20_mini_05 | AC | 1 ms | 256 KB |
20_mini_06 | AC | 1 ms | 256 KB |
20_mini_07 | AC | 1 ms | 256 KB |
20_mini_08 | AC | 1 ms | 256 KB |
20_mini_09 | AC | 1 ms | 256 KB |
20_mini_10 | AC | 1 ms | 256 KB |
20_mini_11 | AC | 1 ms | 256 KB |
20_mini_12 | AC | 1 ms | 256 KB |
20_mini_13 | AC | 1 ms | 256 KB |
20_mini_14 | AC | 1 ms | 256 KB |
20_mini_15 | AC | 1 ms | 256 KB |
20_mini_16 | AC | 1 ms | 256 KB |
20_mini_17 | AC | 1 ms | 256 KB |
20_mini_18 | AC | 1 ms | 256 KB |
20_mini_19 | AC | 1 ms | 256 KB |
30_square_00 | AC | 1 ms | 256 KB |
30_square_01 | AC | 1 ms | 256 KB |
30_square_02 | AC | 1 ms | 256 KB |
30_square_03 | AC | 1 ms | 256 KB |
30_square_04 | AC | 1 ms | 256 KB |
30_square_05 | AC | 1 ms | 256 KB |
30_square_06 | AC | 1 ms | 256 KB |
30_square_07 | AC | 1 ms | 256 KB |
30_square_08 | AC | 1 ms | 256 KB |
30_square_09 | AC | 1 ms | 256 KB |
30_square_10 | AC | 1 ms | 256 KB |
30_square_11 | AC | 1 ms | 256 KB |
30_square_12 | AC | 1 ms | 256 KB |
30_square_13 | AC | 1 ms | 256 KB |
30_square_14 | AC | 1 ms | 256 KB |
30_square_15 | AC | 1 ms | 256 KB |
30_square_16 | AC | 1 ms | 256 KB |
30_square_17 | AC | 1 ms | 256 KB |
30_square_18 | AC | 1 ms | 256 KB |
30_square_19 | AC | 1 ms | 256 KB |
40_maxrandom_00 | AC | 1 ms | 256 KB |
40_maxrandom_01 | AC | 1 ms | 256 KB |
40_maxrandom_02 | AC | 1 ms | 256 KB |
40_maxrandom_03 | AC | 1 ms | 256 KB |
40_maxrandom_04 | AC | 1 ms | 256 KB |
40_maxrandom_05 | AC | 1 ms | 256 KB |
40_maxrandom_06 | AC | 1 ms | 256 KB |
40_maxrandom_07 | AC | 1 ms | 256 KB |
40_maxrandom_08 | AC | 1 ms | 256 KB |
40_maxrandom_09 | AC | 1 ms | 256 KB |
40_maxrandom_10 | AC | 76 ms | 256 KB |
40_maxrandom_11 | AC | 1 ms | 256 KB |
40_maxrandom_12 | AC | 1 ms | 256 KB |
40_maxrandom_13 | AC | 1 ms | 256 KB |
40_maxrandom_14 | AC | 1 ms | 256 KB |
40_maxrandom_15 | AC | 352 ms | 256 KB |
40_maxrandom_16 | AC | 2 ms | 256 KB |
40_maxrandom_17 | AC | 1 ms | 256 KB |
40_maxrandom_18 | AC | 1 ms | 256 KB |
40_maxrandom_19 | AC | 1 ms | 256 KB |
50_impossible_00 | AC | 1 ms | 256 KB |
50_impossible_01 | AC | 1 ms | 256 KB |
50_impossible_02 | AC | 1 ms | 256 KB |
50_impossible_03 | AC | 1 ms | 256 KB |
50_impossible_04 | AC | 2 ms | 256 KB |
50_impossible_05 | AC | 1 ms | 256 KB |
50_impossible_06 | AC | 1 ms | 256 KB |
50_impossible_07 | AC | 1 ms | 256 KB |
50_impossible_08 | AC | 1 ms | 256 KB |
50_impossible_09 | AC | 1 ms | 256 KB |
60_biganswer_00 | AC | 2359 ms | 256 KB |
60_biganswer_01 | AC | 2359 ms | 256 KB |
60_biganswer_02 | AC | 2359 ms | 256 KB |
60_biganswer_03 | AC | 2359 ms | 256 KB |
60_biganswer_04 | AC | 2359 ms | 256 KB |
60_biganswer_05 | AC | 2359 ms | 256 KB |
60_biganswer_06 | AC | 2359 ms | 256 KB |
60_biganswer_07 | AC | 2359 ms | 256 KB |
60_biganswer_08 | AC | 2359 ms | 256 KB |
60_biganswer_09 | AC | 2359 ms | 256 KB |