CSES - KILO 2017 5/5 - Results
Submission details
Task:Highly Composite Permutation
Sender:Pietari Kaskela
Submission time:2017-10-03 18:18:26 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.07 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.13 sdetails
#6ACCEPTED0.04 sdetails
#7ACCEPTED0.06 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.04 sdetails
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.04 sdetails
#13ACCEPTED0.04 sdetails
#14ACCEPTED0.05 sdetails
#15ACCEPTED0.04 sdetails
#16ACCEPTED0.05 sdetails
#17ACCEPTED0.04 sdetails
#18ACCEPTED0.06 sdetails
#19ACCEPTED0.06 sdetails
#20ACCEPTED0.05 sdetails
#21ACCEPTED0.06 sdetails
#22ACCEPTED0.04 sdetails
#23ACCEPTED0.06 sdetails
#24ACCEPTED0.06 sdetails
#25ACCEPTED0.04 sdetails
#26ACCEPTED0.04 sdetails
#27ACCEPTED0.05 sdetails
#28ACCEPTED0.04 sdetails
#29ACCEPTED0.04 sdetails
#30ACCEPTED0.04 sdetails
#31ACCEPTED0.06 sdetails
#32ACCEPTED0.06 sdetails
#33ACCEPTED0.05 sdetails
#34ACCEPTED0.03 sdetails
#35ACCEPTED0.04 sdetails
#36ACCEPTED0.05 sdetails
#37ACCEPTED0.04 sdetails
#38ACCEPTED0.06 sdetails
#39ACCEPTED0.10 sdetails
#40ACCEPTED0.04 sdetails
#41ACCEPTED0.05 sdetails
#42ACCEPTED0.06 sdetails
#43ACCEPTED0.07 sdetails
#44ACCEPTED0.04 sdetails
#45ACCEPTED0.04 sdetails
#46ACCEPTED0.03 sdetails
#47ACCEPTED0.06 sdetails
#48ACCEPTED0.09 sdetails
#49ACCEPTED0.07 sdetails
#50ACCEPTED0.04 sdetails
#51ACCEPTED0.05 sdetails
#52ACCEPTED0.07 sdetails
#53ACCEPTED0.04 sdetails
#54ACCEPTED0.06 sdetails
#55ACCEPTED0.09 sdetails
#56ACCEPTED0.08 sdetails
#57ACCEPTED0.07 sdetails
#58ACCEPTED0.12 sdetails
#59ACCEPTED0.04 sdetails
#60ACCEPTED0.05 sdetails
#61ACCEPTED0.12 sdetails
#62ACCEPTED0.06 sdetails
#63ACCEPTED0.07 sdetails
#64ACCEPTED0.11 sdetails
#65ACCEPTED0.10 sdetails
#66ACCEPTED0.11 sdetails
#67ACCEPTED0.17 sdetails
#68ACCEPTED0.16 sdetails
#69ACCEPTED0.48 sdetails
#70ACCEPTED0.31 sdetails
#71ACCEPTED0.53 sdetails
#72ACCEPTED0.11 sdetails
#73ACCEPTED0.47 sdetails
#74ACCEPTED0.10 sdetails
#75ACCEPTED0.25 sdetails
#76ACCEPTED0.98 sdetails
#77ACCEPTED0.05 sdetails
#78ACCEPTED0.11 sdetails
#79ACCEPTED0.55 sdetails
#80ACCEPTED0.97 sdetails
#81ACCEPTED0.72 sdetails
#82ACCEPTED0.38 sdetails
#83ACCEPTED0.37 sdetails
#84ACCEPTED0.88 sdetails
#85ACCEPTED0.14 sdetails
#86--details
#87ACCEPTED0.25 sdetails
#88ACCEPTED0.12 sdetails
#89--details
#90--details
#91ACCEPTED0.47 sdetails
#92--details
#93ACCEPTED0.71 sdetails
#94--details
#95--details
#96--details
#97--details
#98ACCEPTED0.04 sdetails
#99ACCEPTED0.04 sdetails
#100ACCEPTED0.30 sdetails

Code

#include <bits/stdc++.h>

using namespace std;
int e[10101];
int smax = 10000;
void sieve(){
	for(int i = 2; i < smax; i+=2)
		e[i] = 2;
	for(int64_t i = 3; i <= smax; i+=2){
		if(!e[i]){
			e[i] = i;
			for(int64_t j = i; j*i <= smax; j+=2){
				if(!e[j*i])
					e[j*i] = i;
			}
		}
	}
}

int main(){
	srand(time(0));
	int n; cin >> n;
	vector<int> lul;
	for(int i = 0; i < n; ++i)
		lul.push_back(i+1);
	int cc = 1000000;
	sieve();
	e[1] = 1;
	while(cc--){
		random_shuffle(lul.begin(), lul.end());
		int sum = 0;
		bool ok = true;
		for(int i = 0; i < n; ++i){
			sum+=lul[i];
			if(e[sum] == sum){
				ok = false;
				break;
			}
		}
		if(ok){
			for(auto f: lul)
				cout << f << " ";
			cout << '\n';
			return 0;
		}
	}
	cout << -1 << '\n';
}

Test details

Test 1

Verdict: ACCEPTED

input
13

correct output
9 13 6 5 3 2 8 4 1 12 11 10 7

user output
6 3 11 10 4 1 7 12 2 8 5 9 13 

Test 2

Verdict: ACCEPTED

input
2

correct output
-1

user output
-1

Test 3

Verdict: ACCEPTED

input
5

correct output
4 2 3 1 5

user output
4 2 3 5 1 

Test 4

Verdict: ACCEPTED

input
8

correct output
4 2 3 1 5 6 7 8

user output
4 5 3 8 7 1 2 6 

Test 5

Verdict: ACCEPTED

input
3

correct output
-1

user output
-1

Test 6

Verdict: ACCEPTED

input
1

correct output
-1

user output
-1

Test 7

Verdict: ACCEPTED

input
4

correct output
4 2 3 1

user output
4 2 3 1 

Test 8

Verdict: ACCEPTED

input
6

correct output
4 2 3 1 5 6

user output
6 3 1 2 4 5 

Test 9

Verdict: ACCEPTED

input
7

correct output
4 2 3 1 5 6 7

user output
6 4 5 1 2 3 7 

Test 10

Verdict: ACCEPTED

input
14

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
14 2 4 1 5 9 13 10 8 3 12 11 6...

Test 11

Verdict: ACCEPTED

input
15

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
15 10 3 2 9 7 4 6 1 13 14 11 5...

Test 12

Verdict: ACCEPTED

input
16

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
4 2 3 11 15 14 7 8 1 13 12 10 ...

Test 13

Verdict: ACCEPTED

input
17

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
9 12 17 13 5 6 10 2 16 1 14 3 ...

Test 14

Verdict: ACCEPTED

input
18

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
16 9 10 15 4 12 6 14 7 18 1 13...

Test 15

Verdict: ACCEPTED

input
19

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
18 15 1 6 4 19 12 9 3 13 10 7 ...

Test 16

Verdict: ACCEPTED

input
20

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
8 7 13 2 19 5 1 20 11 4 10 14 ...

Test 17

Verdict: ACCEPTED

input
21

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
9 13 11 19 3 7 12 6 20 5 1 10 ...

Test 18

Verdict: ACCEPTED

input
22

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
18 22 6 9 11 2 16 14 10 20 1 1...

Test 19

Verdict: ACCEPTED

input
23

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
20 1 11 3 10 12 5 23 8 21 6 16...

Test 20

Verdict: ACCEPTED

input
24

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
14 7 6 18 4 16 19 12 10 22 24 ...

Test 21

Verdict: ACCEPTED

input
9

correct output
4 2 3 1 5 6 7 8 9

user output
6 9 1 5 3 8 2 4 7 

Test 22

Verdict: ACCEPTED

input
10

correct output
4 2 3 1 5 6 7 8 9 10

user output
9 6 7 2 8 1 5 10 4 3 

Test 23

Verdict: ACCEPTED

input
11

correct output
4 2 3 1 5 6 7 8 9 10 11

user output
10 11 1 4 8 5 3 6 7 2 9 

Test 24

Verdict: ACCEPTED

input
12

correct output
4 2 3 1 5 6 7 8 9 10 11 12

user output
4 6 8 3 5 2 10 7 1 9 11 12 

Test 25

Verdict: ACCEPTED

input
26

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
12 15 5 1 16 25 24 17 18 8 3 1...

Test 26

Verdict: ACCEPTED

input
27

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
24 4 7 3 8 11 12 26 22 17 2 25...

Test 27

Verdict: ACCEPTED

input
28

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
27 28 3 16 25 1 24 26 2 8 9 15...

Test 28

Verdict: ACCEPTED

input
29

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
18 8 28 15 22 3 29 27 2 7 10 1...

Test 29

Verdict: ACCEPTED

input
30

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
10 22 1 16 20 15 21 23 28 14 6...

Test 30

Verdict: ACCEPTED

input
31

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
18 4 20 21 1 16 31 12 23 7 8 1...

Test 31

Verdict: ACCEPTED

input
32

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
20 28 29 13 4 14 15 1 12 32 16...

Test 32

Verdict: ACCEPTED

input
33

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
16 10 7 23 29 26 22 8 18 15 33...

Test 33

Verdict: ACCEPTED

input
34

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
20 16 24 26 33 14 3 12 34 13 1...

Test 34

Verdict: ACCEPTED

input
35

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
20 8 14 6 26 17 15 12 3 23 34 ...

Test 35

Verdict: ACCEPTED

input
36

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
12 15 18 6 30 27 17 9 24 28 16...

Test 36

Verdict: ACCEPTED

input
37

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
25 23 9 11 2 17 7 14 3 31 36 1...

Test 37

Verdict: ACCEPTED

input
38

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
32 26 27 29 2 14 28 37 19 34 2...

Test 38

Verdict: ACCEPTED

input
39

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
20 12 23 22 1 7 10 33 4 11 9 3...

Test 39

Verdict: ACCEPTED

input
40

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
9 25 31 15 5 40 8 1 20 6 11 7 ...

Test 40

Verdict: ACCEPTED

input
41

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
12 34 3 36 6 2 23 28 33 29 22 ...

Test 41

Verdict: ACCEPTED

input
42

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
20 22 7 35 26 19 6 8 10 36 27 ...

Test 42

Verdict: ACCEPTED

input
44

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
10 11 4 5 6 27 7 18 22 33 9 14...

Test 43

Verdict: ACCEPTED

input
45

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
9 40 2 21 30 14 44 45 4 13 26 ...

Test 44

Verdict: ACCEPTED

input
46

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
32 1 44 18 22 30 14 9 39 3 10 ...

Test 45

Verdict: ACCEPTED

input
47

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
46 30 6 23 42 38 40 7 16 47 21...

Test 46

Verdict: ACCEPTED

input
48

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
22 33 15 40 19 12 6 47 20 41 4...

Test 47

Verdict: ACCEPTED

input
49

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
39 27 30 34 25 29 3 31 46 28 6...

Test 48

Verdict: ACCEPTED

input
50

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
34 1 23 8 27 11 14 4 6 49 28 1...

Test 49

Verdict: ACCEPTED

input
51

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
46 14 2 1 32 27 18 31 25 22 47...

Test 50

Verdict: ACCEPTED

input
52

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
38 20 34 26 50 47 35 22 15 10 ...

Test 51

Verdict: ACCEPTED

input
53

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
49 33 38 3 53 6 24 42 47 41 30...

Test 52

Verdict: ACCEPTED

input
54

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
30 2 4 16 38 10 34 53 19 8 5 4...

Test 53

Verdict: ACCEPTED

input
55

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
18 47 1 39 29 24 44 51 7 25 21...

Test 54

Verdict: ACCEPTED

input
56

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
38 12 36 54 48 46 40 13 5 52 5...

Test 55

Verdict: ACCEPTED

input
57

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
51 49 21 1 54 8 20 48 28 10 16...

Test 56

Verdict: ACCEPTED

input
58

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
39 54 5 47 32 6 7 46 18 49 37 ...

Test 57

Verdict: ACCEPTED

input
59

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
49 5 50 11 23 7 26 3 32 31 16 ...

Test 58

Verdict: ACCEPTED

input
60

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
60 15 29 25 4 27 14 20 26 59 1...

Test 59

Verdict: ACCEPTED

input
61

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
27 17 13 9 21 32 55 15 45 14 4...

Test 60

Verdict: ACCEPTED

input
62

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
35 4 47 6 29 3 17 27 20 36 51 ...

Test 61

Verdict: ACCEPTED

input
63

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
56 39 31 52 53 51 24 16 35 58 ...

Test 62

Verdict: ACCEPTED

input
64

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
44 50 41 24 21 15 3 64 36 42 2...

Test 63

Verdict: ACCEPTED

input
65

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
65 23 5 62 61 32 20 29 51 39 1...

Test 64

Verdict: ACCEPTED

input
66

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
33 18 57 3 51 52 7 22 39 32 60...

Test 65

Verdict: ACCEPTED

input
67

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
64 6 32 22 30 50 41 56 38 61 6...

Test 66

Verdict: ACCEPTED

input
68

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
66 16 35 61 42 58 17 28 2 43 5...

Test 67

Verdict: ACCEPTED

input
69

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
52 56 61 26 1 34 57 49 30 27 1...

Test 68

Verdict: ACCEPTED

input
70

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
44 24 52 39 2 21 14 10 56 28 9...

Test 69

Verdict: ACCEPTED

input
71

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
14 52 8 31 71 70 53 5 19 6 45 ...

Test 70

Verdict: ACCEPTED

input
72

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
38 64 62 31 36 29 20 16 44 63 ...

Test 71

Verdict: ACCEPTED

input
73

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
15 55 56 43 57 63 5 45 42 65 1...

Test 72

Verdict: ACCEPTED

input
74

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
6 63 36 45 20 54 60 40 69 67 1...

Test 73

Verdict: ACCEPTED

input
75

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
68 54 12 11 70 27 3 34 31 5 17...

Test 74

Verdict: ACCEPTED

input
76

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
65 67 36 26 52 13 55 61 59 72 ...

Test 75

Verdict: ACCEPTED

input
77

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
70 66 19 35 14 58 23 20 43 28 ...

Test 76

Verdict: ACCEPTED

input
79

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
60 66 20 68 39 65 62 45 26 23 ...

Test 77

Verdict: ACCEPTED

input
80

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
49 1 40 4 61 9 52 12 32 44 78 ...

Test 78

Verdict: ACCEPTED

input
81

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
75 65 55 24 60 8 18 50 71 68 2...

Test 79

Verdict: ACCEPTED

input
82

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
65 39 29 74 49 58 32 62 80 6 5...

Test 80

Verdict: ACCEPTED

input
83

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
18 48 60 77 17 40 1 4 56 34 19...

Test 81

Verdict: ACCEPTED

input
84

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
14 64 6 26 42 16 18 46 30 41 7...

Test 82

Verdict: ACCEPTED

input
85

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
64 46 65 68 24 21 81 61 12 5 8...

Test 83

Verdict: ACCEPTED

input
86

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
80 12 72 67 84 76 14 8 49 68 4...

Test 84

Verdict: ACCEPTED

input
87

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
51 65 26 72 44 29 74 84 6 24 2...

Test 85

Verdict: ACCEPTED

input
88

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
75 40 25 19 73 34 86 51 35 72 ...

Test 86

Verdict:

input
89

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 87

Verdict: ACCEPTED

input
90

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
66 42 70 53 55 56 29 36 67 20 ...

Test 88

Verdict: ACCEPTED

input
91

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
87 9 57 32 18 16 35 31 11 65 6...

Test 89

Verdict:

input
92

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 90

Verdict:

input
93

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 91

Verdict: ACCEPTED

input
94

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
92 31 18 85 64 20 51 74 50 77 ...

Test 92

Verdict:

input
95

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 93

Verdict: ACCEPTED

input
96

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
78 67 58 53 92 65 9 91 79 70 7...

Test 94

Verdict:

input
97

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 95

Verdict:

input
98

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 96

Verdict:

input
99

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 97

Verdict:

input
100

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 98

Verdict: ACCEPTED

input
25

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
22 4 16 23 5 8 13 1 25 12 18 2...

Test 99

Verdict: ACCEPTED

input
43

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
21 18 38 10 11 32 35 33 17 34 ...

Test 100

Verdict: ACCEPTED

input
78

correct output
4 2 3 1 5 6 7 8 9 10 11 12 13 ...

user output
26 4 46 57 70 22 15 9 60 29 24...