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
AC × 83
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