CSES - KILO 2017 5/5 - Results
Submission details
Task:Highly Composite Permutation
Sender:Pietari Kaskela
Submission time:2017-10-03 18:16:41 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.06 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.06 sdetails
#7ACCEPTED0.03 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.04 sdetails
#10ACCEPTED0.05 sdetails
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.04 sdetails
#13ACCEPTED0.05 sdetails
#14ACCEPTED0.04 sdetails
#15ACCEPTED0.04 sdetails
#16ACCEPTED0.05 sdetails
#17ACCEPTED0.04 sdetails
#18ACCEPTED0.04 sdetails
#19ACCEPTED0.04 sdetails
#20ACCEPTED0.05 sdetails
#21ACCEPTED0.04 sdetails
#22ACCEPTED0.06 sdetails
#23ACCEPTED0.03 sdetails
#24ACCEPTED0.06 sdetails
#25ACCEPTED0.04 sdetails
#26ACCEPTED0.05 sdetails
#27ACCEPTED0.05 sdetails
#28ACCEPTED0.04 sdetails
#29ACCEPTED0.05 sdetails
#30ACCEPTED0.04 sdetails
#31ACCEPTED0.05 sdetails
#32ACCEPTED0.05 sdetails
#33ACCEPTED0.04 sdetails
#34ACCEPTED0.05 sdetails
#35ACCEPTED0.05 sdetails
#36ACCEPTED0.06 sdetails
#37ACCEPTED0.04 sdetails
#38ACCEPTED0.04 sdetails
#39ACCEPTED0.04 sdetails
#40ACCEPTED0.05 sdetails
#41ACCEPTED0.04 sdetails
#42ACCEPTED0.06 sdetails
#43ACCEPTED0.03 sdetails
#44ACCEPTED0.07 sdetails
#45ACCEPTED0.03 sdetails
#46ACCEPTED0.07 sdetails
#47ACCEPTED0.04 sdetails
#48ACCEPTED0.04 sdetails
#49ACCEPTED0.06 sdetails
#50ACCEPTED0.07 sdetails
#51ACCEPTED0.05 sdetails
#52ACCEPTED0.05 sdetails
#53ACCEPTED0.07 sdetails
#54ACCEPTED0.10 sdetails
#55ACCEPTED0.09 sdetails
#56ACCEPTED0.06 sdetails
#57ACCEPTED0.14 sdetails
#58ACCEPTED0.07 sdetails
#59ACCEPTED0.06 sdetails
#60ACCEPTED0.06 sdetails
#61ACCEPTED0.16 sdetails
#62ACCEPTED0.12 sdetails
#63ACCEPTED0.09 sdetails
#64ACCEPTED0.05 sdetails
#650.22 sdetails
#66ACCEPTED0.14 sdetails
#67ACCEPTED0.09 sdetails
#68ACCEPTED0.19 sdetails
#690.21 sdetails
#70ACCEPTED0.06 sdetails
#71ACCEPTED0.06 sdetails
#72ACCEPTED0.23 sdetails
#73ACCEPTED0.13 sdetails
#740.22 sdetails
#750.23 sdetails
#760.23 sdetails
#770.23 sdetails
#78ACCEPTED0.12 sdetails
#79ACCEPTED0.22 sdetails
#800.24 sdetails
#810.26 sdetails
#82ACCEPTED0.11 sdetails
#830.26 sdetails
#840.26 sdetails
#850.26 sdetails
#860.25 sdetails
#870.29 sdetails
#88ACCEPTED0.10 sdetails
#890.26 sdetails
#900.29 sdetails
#91ACCEPTED0.07 sdetails
#920.31 sdetails
#930.24 sdetails
#940.30 sdetails
#950.27 sdetails
#960.33 sdetails
#970.24 sdetails
#98ACCEPTED0.05 sdetails
#99ACCEPTED0.05 sdetails
#1000.21 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 = 100000;
	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 8 1 5 13 12 10 11 9 7 2 3 4 

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 5 1 2 3 

Test 4

Verdict: ACCEPTED

input
8

correct output
4 2 3 1 5 6 7 8

user output
4 6 8 7 2 1 5 3 

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
4 6 5 1 2 3 

Test 9

Verdict: ACCEPTED

input
7

correct output
4 2 3 1 5 6 7

user output
6 2 1 7 4 5 3 

Test 10

Verdict: ACCEPTED

input
14

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

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

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 9 4 11 5 6 3 13 8 2 12 1...

Test 12

Verdict: ACCEPTED

input
16

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

user output
12 10 11 15 4 13 7 16 14 8 2 5...

Test 13

Verdict: ACCEPTED

input
17

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

user output
8 12 14 16 10 15 13 4 2 6 11 1...

Test 14

Verdict: ACCEPTED

input
18

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

user output
4 16 7 17 8 10 13 3 6 12 18 15...

Test 15

Verdict: ACCEPTED

input
19

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

user output
6 18 4 5 19 3 10 12 7 1 17 9 1...

Test 16

Verdict: ACCEPTED

input
20

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

user output
12 15 19 5 9 8 2 16 1 3 4 14 1...

Test 17

Verdict: ACCEPTED

input
21

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

user output
4 11 18 15 8 16 6 21 1 5 12 17...

Test 18

Verdict: ACCEPTED

input
22

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

user output
9 13 8 14 2 3 20 18 12 15 10 1...

Test 19

Verdict: ACCEPTED

input
23

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

user output
4 17 18 13 2 1 15 12 16 21 6 7...

Test 20

Verdict: ACCEPTED

input
24

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

user output
16 22 14 13 1 9 19 21 17 24 3 ...

Test 21

Verdict: ACCEPTED

input
9

correct output
4 2 3 1 5 6 7 8 9

user output
6 4 8 9 1 7 5 2 3 

Test 22

Verdict: ACCEPTED

input
10

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

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

Test 23

Verdict: ACCEPTED

input
11

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

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

Test 24

Verdict: ACCEPTED

input
12

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

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

Test 25

Verdict: ACCEPTED

input
26

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

user output
20 12 16 24 5 9 7 26 22 13 18 ...

Test 26

Verdict: ACCEPTED

input
27

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

user output
21 19 2 24 12 17 11 20 22 18 6...

Test 27

Verdict: ACCEPTED

input
28

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

user output
18 12 19 23 4 24 25 8 21 11 9 ...

Test 28

Verdict: ACCEPTED

input
29

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

user output
9 7 28 5 25 4 21 17 20 6 11 18...

Test 29

Verdict: ACCEPTED

input
30

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

user output
10 4 6 16 3 9 8 21 23 20 18 17...

Test 30

Verdict: ACCEPTED

input
31

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

user output
6 28 5 3 16 8 30 20 19 10 14 1...

Test 31

Verdict: ACCEPTED

input
32

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

user output
26 23 7 21 3 20 17 11 28 22 16...

Test 32

Verdict: ACCEPTED

input
33

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

user output
32 23 10 21 19 16 11 12 31 33 ...

Test 33

Verdict: ACCEPTED

input
34

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

user output
27 21 16 29 24 18 9 26 30 12 2...

Test 34

Verdict: ACCEPTED

input
35

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

user output
26 32 28 2 29 25 35 3 7 13 8 3...

Test 35

Verdict: ACCEPTED

input
36

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

user output
15 31 16 7 33 3 35 28 32 25 27...

Test 36

Verdict: ACCEPTED

input
37

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

user output
32 10 27 3 24 16 29 34 8 30 36...

Test 37

Verdict: ACCEPTED

input
38

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

user output
18 15 35 30 21 6 22 9 13 2 5 3...

Test 38

Verdict: ACCEPTED

input
39

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

user output
6 10 23 30 3 8 20 11 32 19 22 ...

Test 39

Verdict: ACCEPTED

input
40

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

user output
16 38 8 31 2 4 11 10 12 29 14 ...

Test 40

Verdict: ACCEPTED

input
41

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

user output
28 2 5 4 26 21 37 33 29 34 16 ...

Test 41

Verdict: ACCEPTED

input
42

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

user output
39 15 41 34 29 12 7 5 30 25 36...

Test 42

Verdict: ACCEPTED

input
44

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

user output
33 27 17 9 43 21 22 10 32 1 39...

Test 43

Verdict: ACCEPTED

input
45

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

user output
4 40 43 9 10 29 37 5 41 18 24 ...

Test 44

Verdict: ACCEPTED

input
46

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

user output
12 43 22 5 40 38 30 44 20 41 4...

Test 45

Verdict: ACCEPTED

input
47

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

user output
35 43 42 13 14 36 38 21 33 20 ...

Test 46

Verdict: ACCEPTED

input
48

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

user output
46 45 14 24 27 47 25 37 43 34 ...

Test 47

Verdict: ACCEPTED

input
49

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

user output
36 14 20 35 41 28 27 45 33 46 ...

Test 48

Verdict: ACCEPTED

input
50

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

user output
27 8 41 32 40 6 30 1 35 25 22 ...

Test 49

Verdict: ACCEPTED

input
51

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

user output
9 48 5 28 16 50 34 23 15 36 37...

Test 50

Verdict: ACCEPTED

input
52

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

user output
10 25 30 28 1 51 33 2 15 36 17...

Test 51

Verdict: ACCEPTED

input
53

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

user output
15 9 39 49 33 27 43 29 47 50 1...

Test 52

Verdict: ACCEPTED

input
54

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

user output
24 27 43 14 47 40 5 17 18 10 3...

Test 53

Verdict: ACCEPTED

input
55

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

user output
52 11 2 25 51 49 30 15 14 23 3...

Test 54

Verdict: ACCEPTED

input
56

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

user output
45 31 15 9 5 37 27 36 8 25 23 ...

Test 55

Verdict: ACCEPTED

input
57

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

user output
45 55 2 52 31 43 3 42 49 7 51 ...

Test 56

Verdict: ACCEPTED

input
58

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

user output
22 12 26 45 42 39 29 3 1 33 48...

Test 57

Verdict: ACCEPTED

input
59

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

user output
26 38 36 28 6 54 42 52 9 23 2 ...

Test 58

Verdict: ACCEPTED

input
60

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

user output
35 22 27 7 56 53 5 41 50 1 21 ...

Test 59

Verdict: ACCEPTED

input
61

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

user output
30 40 34 8 33 32 44 47 52 61 2...

Test 60

Verdict: ACCEPTED

input
62

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

user output
16 44 35 33 61 59 41 57 53 9 6...

Test 61

Verdict: ACCEPTED

input
63

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

user output
27 31 2 34 52 39 41 22 11 29 1...

Test 62

Verdict: ACCEPTED

input
64

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

user output
57 18 15 40 14 61 13 24 56 48 ...

Test 63

Verdict: ACCEPTED

input
65

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

user output
56 32 50 47 19 30 9 22 39 60 4...

Test 64

Verdict: ACCEPTED

input
66

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

user output
9 3 27 7 42 34 63 62 33 35 54 ...

Test 65

Verdict:

input
67

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

user output
-1

Test 66

Verdict: ACCEPTED

input
68

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

user output
28 35 45 54 56 37 20 52 29 32 ...

Test 67

Verdict: ACCEPTED

input
69

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

user output
34 46 28 42 11 52 57 39 54 22 ...

Test 68

Verdict: ACCEPTED

input
70

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

user output
20 5 14 25 44 36 64 45 27 70 6...

Test 69

Verdict:

input
71

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

user output
-1

Test 70

Verdict: ACCEPTED

input
72

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

user output
54 14 8 40 7 20 28 71 3 34 46 ...

Test 71

Verdict: ACCEPTED

input
73

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

user output
51 9 35 11 34 28 12 64 65 15 4...

Test 72

Verdict: ACCEPTED

input
74

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

user output
64 42 16 13 25 61 29 74 45 43 ...

Test 73

Verdict: ACCEPTED

input
75

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

user output
25 31 18 70 74 46 63 71 32 36 ...

Test 74

Verdict:

input
76

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

user output
-1

Test 75

Verdict:

input
77

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

user output
-1

Test 76

Verdict:

input
79

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

user output
-1

Test 77

Verdict:

input
80

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

user output
-1

Test 78

Verdict: ACCEPTED

input
81

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

user output
16 14 2 58 32 42 50 76 8 52 60...

Test 79

Verdict: ACCEPTED

input
82

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

user output
15 41 39 16 17 20 29 67 45 51 ...

Test 80

Verdict:

input
83

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

user output
-1

Test 81

Verdict:

input
84

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

user output
-1

Test 82

Verdict: ACCEPTED

input
85

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

user output
30 36 55 77 60 45 19 6 44 66 2...

Test 83

Verdict:

input
86

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

user output
-1

Test 84

Verdict:

input
87

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

user output
-1

Test 85

Verdict:

input
88

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

user output
-1

Test 86

Verdict:

input
89

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

user output
-1

Test 87

Verdict:

input
90

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

user output
-1

Test 88

Verdict: ACCEPTED

input
91

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

user output
42 56 14 86 72 10 12 51 71 28 ...

Test 89

Verdict:

input
92

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

user output
-1

Test 90

Verdict:

input
93

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

user output
-1

Test 91

Verdict: ACCEPTED

input
94

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

user output
78 90 60 17 44 56 85 74 86 5 4...

Test 92

Verdict:

input
95

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

user output
-1

Test 93

Verdict:

input
96

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

user output
-1

Test 94

Verdict:

input
97

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

user output
-1

Test 95

Verdict:

input
98

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

user output
-1

Test 96

Verdict:

input
99

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

user output
-1

Test 97

Verdict:

input
100

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

user output
-1

Test 98

Verdict: ACCEPTED

input
25

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

user output
25 21 20 3 16 23 4 10 7 12 2 1...

Test 99

Verdict: ACCEPTED

input
43

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

user output
15 5 43 30 9 6 11 34 7 32 10 3...

Test 100

Verdict:

input
78

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

user output
-1