QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#413078#4229. GCD HarmonyDanielChang#WA 1273ms25816kbC++171.3kb2024-05-17 02:49:002024-05-17 02:49:01

Judging History

你现在查看的是最新测评结果

  • [2024-05-17 02:49:01]
  • 评测
  • 测评结果:WA
  • 用时:1273ms
  • 内存:25816kb
  • [2024-05-17 02:49:00]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'

int main(){
	ios::sync_with_stdio(false); cin.tie(0);

	int n;
	cin >> n;

	const int N = 1001;

	vector<vector<int>> f(N);
	for(int i=2; i<N; i++){
		for(int j=2; j<N; j++){
			if(gcd(i, j) > 1) f[i].push_back(j);
		}
	}

	vector<int> arr(n);
	for(auto &d : arr) cin >> d;
	vector<vector<int>> adj(n);
	for(int i=1; i<n; i++){
		int a, b;
		cin >> a >> b;
		a--, b--;
		adj[a].push_back(b);
		adj[b].push_back(a);
	}
	const int INF = 1e9;
	vector<vector<int>> dp(n, vector<int>(N, -1));
	function<void(int, int)> dfs = [&](int u, int par){
		for(int c : adj[u]){
			if(c == par) continue;
			dfs(c, u);
		}
		for(int i=2; i<N; i++){
			dp[u][i] = arr[u] == i ? 0 : i;
			for(int c : adj[u]){
				if(c == par) continue;
				int mnC = INF;
				for(int j : f[i]){
					if(dp[c][j] != -1) mnC = min(mnC, dp[c][j]);
					assert(dp[c][j] != -1);
				}
				if(mnC == INF){
					assert(false);
					dp[u][i] = -1;
					break;
				}
				dp[u][i] += mnC;
			}
		}
	};
	dfs(0, -1);	
	int res = INF;
	for(int i=2; i<N; i++){
		assert(dp[0][i] != -1);
		res = min(res, dp[0][i]);
	}
	assert(res != INF);
	cout << res;
}
// gcc a.cpp -std=gnu++14 -o a.exe
// g++ a.cpp -g -O2 -std=gnu++14 -static -o a.exe

詳細信息

Test #1:

score: 100
Accepted
time: 26ms
memory: 5832kb

input:

6
5
6
3
4
9
12
1 2
1 3
1 4
1 6
3 5

output:

6

result:

ok single line: '6'

Test #2:

score: 0
Accepted
time: 32ms
memory: 5900kb

input:

3
1
2
3
3 1
2 3

output:

4

result:

ok single line: '4'

Test #3:

score: 0
Accepted
time: 35ms
memory: 5860kb

input:

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

output:

15

result:

ok single line: '15'

Test #4:

score: 0
Accepted
time: 34ms
memory: 6132kb

input:

9
2
5
5
5
5
3
3
3
3
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9

output:

14

result:

ok single line: '14'

Test #5:

score: 0
Accepted
time: 33ms
memory: 5916kb

input:

8
13
13
13
2
13
13
13
13
1 2
1 3
1 4
1 5
1 6
1 7
1 8

output:

13

result:

ok single line: '13'

Test #6:

score: 0
Accepted
time: 1250ms
memory: 25516kb

input:

5000
59
25
51
26
33
99
2
13
29
58
5
47
96
83
63
22
69
89
41
90
20
97
85
90
55
17
54
75
54
24
90
54
74
78
81
77
2
47
68
18
60
81
99
86
7
6
76
43
17
43
92
25
36
26
47
100
63
66
2
16
47
25
48
86
24
2
10
42
44
80
92
48
49
21
49
40
32
85
53
88
15
30
4
27
77
16
6
80
50
56
46
14
3
48
92
50
93
35
69
29
48
4...

output:

4778

result:

ok single line: '4778'

Test #7:

score: 0
Accepted
time: 1241ms
memory: 25548kb

input:

5000
15
8
34
68
69
24
72
65
85
5
11
7
24
50
94
98
99
88
99
31
58
93
94
14
92
17
45
61
85
83
66
97
35
52
33
41
98
10
77
59
33
23
21
49
83
93
23
77
60
49
27
2
73
10
31
23
8
73
3
94
19
74
78
82
86
95
14
18
58
15
5
58
99
60
82
34
82
6
96
31
70
6
8
49
82
51
95
52
95
55
94
21
74
83
19
7
99
74
49
65
25
6
5...

output:

4733

result:

ok single line: '4733'

Test #8:

score: 0
Accepted
time: 1266ms
memory: 25584kb

input:

5000
15
15
14
18
19
15
13
18
16
17
16
18
16
16
17
16
19
17
16
19
15
13
17
15
15
14
15
16
16
14
18
15
19
16
18
15
14
13
15
15
13
19
18
15
17
14
15
14
17
16
13
13
19
16
18
19
14
19
17
13
19
14
15
14
15
13
13
17
18
15
17
17
16
16
18
19
19
16
13
16
18
15
15
17
16
15
14
16
13
18
13
18
19
18
15
13
13
14
1...

output:

5609

result:

ok single line: '5609'

Test #9:

score: 0
Accepted
time: 1244ms
memory: 25456kb

input:

5000
97
96
97
94
96
94
95
95
95
93
95
94
96
96
95
94
93
95
95
97
95
96
94
97
97
97
94
95
93
96
94
94
96
93
93
93
97
94
96
95
94
94
94
97
94
96
93
97
95
97
93
96
93
93
95
97
96
93
94
97
95
94
94
95
96
97
93
94
97
96
97
93
93
93
97
94
94
95
95
95
94
96
95
93
96
97
97
95
94
93
97
93
97
96
94
94
93
93
9...

output:

5497

result:

ok single line: '5497'

Test #10:

score: 0
Accepted
time: 1246ms
memory: 25484kb

input:

5000
79
71
73
97
79
61
61
97
67
61
89
73
67
79
83
97
61
61
61
83
97
83
71
79
97
97
97
71
89
71
83
61
73
89
73
73
73
67
61
97
71
73
89
71
83
67
71
67
73
73
97
79
67
79
89
73
97
97
73
67
61
71
73
83
67
73
71
61
79
61
73
73
89
79
71
89
83
67
71
97
67
71
89
83
71
61
79
89
79
97
83
89
83
79
71
79
89
61
6...

output:

10000

result:

ok single line: '10000'

Test #11:

score: 0
Accepted
time: 1233ms
memory: 25464kb

input:

5000
73
83
73
97
97
73
97
83
83
83
73
83
73
97
97
73
83
73
83
97
97
83
97
73
97
83
97
73
97
73
97
97
83
97
97
83
73
83
97
83
83
73
83
97
73
73
97
83
83
83
97
73
97
97
83
83
97
73
73
97
73
73
97
83
83
97
73
97
83
83
73
97
73
97
73
73
73
73
97
83
97
83
97
73
83
97
83
83
73
73
83
73
83
97
83
83
97
97
8...

output:

10000

result:

ok single line: '10000'

Test #12:

score: 0
Accepted
time: 1243ms
memory: 25516kb

input:

5000
5
5
7
2
2
3
2
7
2
5
5
3
7
7
3
3
7
5
3
3
3
5
2
7
5
2
2
2
3
7
3
5
3
2
3
7
2
2
5
3
7
2
3
7
3
2
7
3
2
5
3
3
5
2
7
5
3
3
5
5
5
5
2
3
2
7
7
2
5
3
3
2
5
7
5
5
7
5
3
5
7
2
7
7
2
7
5
7
5
2
5
7
2
7
2
5
7
2
7
7
5
5
7
7
5
5
3
3
3
7
3
5
7
7
7
7
3
5
3
3
7
5
3
3
2
5
5
3
3
2
7
2
5
7
2
3
2
7
5
7
7
2
7
5
2
3
2
7...

output:

7404

result:

ok single line: '7404'

Test #13:

score: 0
Accepted
time: 1224ms
memory: 25484kb

input:

5000
71
71
71
71
73
71
71
73
73
71
73
73
73
73
73
73
73
73
71
73
71
71
73
73
71
71
73
71
71
71
73
71
71
71
73
73
73
73
71
71
73
71
71
71
71
71
71
73
71
71
71
71
71
73
71
71
71
71
71
73
71
73
73
73
73
73
73
71
71
73
73
71
73
71
71
71
71
71
71
73
73
73
73
71
71
73
73
73
73
71
71
71
73
71
71
71
71
71
7...

output:

10000

result:

ok single line: '10000'

Test #14:

score: 0
Accepted
time: 1201ms
memory: 25488kb

input:

5000
3
5
5
3
5
2
5
3
2
3
5
5
2
5
2
2
2
3
2
5
5
3
3
5
2
2
3
5
2
2
3
3
2
2
2
3
5
5
2
5
2
5
2
3
5
3
3
5
2
3
5
3
3
5
5
5
5
3
3
5
3
2
2
2
3
3
3
5
3
2
5
2
3
2
5
3
2
2
3
2
3
2
5
5
2
2
5
3
2
2
3
5
3
3
2
2
3
5
2
2
3
2
5
3
2
3
3
2
5
5
3
5
5
5
5
3
3
5
3
5
5
3
2
3
5
5
3
3
3
2
3
3
5
3
3
3
2
2
2
3
3
5
2
3
3
3
2
5...

output:

2126

result:

ok single line: '2126'

Test #15:

score: 0
Accepted
time: 1219ms
memory: 25464kb

input:

5000
26
17
19
19
11
19
17
11
26
17
19
17
26
19
11
19
17
11
26
26
11
26
11
11
19
11
17
17
26
19
17
11
26
17
17
11
17
19
11
17
11
26
11
17
11
26
19
17
11
17
19
26
11
19
26
26
17
11
19
17
11
17
17
17
11
26
26
17
19
11
11
19
17
26
19
19
17
19
11
17
11
11
19
17
11
11
11
26
11
17
19
17
26
11
26
17
19
11
1...

output:

5268

result:

ok single line: '5268'

Test #16:

score: 0
Accepted
time: 1241ms
memory: 25464kb

input:

5000
13
11
13
11
13
11
11
11
11
13
13
11
11
11
11
11
13
11
11
11
11
13
11
11
11
13
13
11
11
13
13
13
11
13
13
13
11
11
11
13
13
11
11
13
13
11
11
13
11
13
13
11
13
11
13
13
13
13
13
13
11
13
13
11
11
13
11
11
13
11
13
11
11
11
13
13
13
13
13
13
11
11
13
11
11
11
13
11
13
11
11
13
11
13
11
11
13
13
1...

output:

10000

result:

ok single line: '10000'

Test #17:

score: 0
Accepted
time: 1229ms
memory: 25484kb

input:

5000
3
2
5
5
2
2
5
2
2
3
2
3
2
2
2
5
5
5
2
2
5
2
5
2
3
3
3
2
3
2
5
2
3
2
5
2
3
2
5
2
5
3
5
5
5
3
2
5
5
3
2
2
3
5
3
5
2
2
2
2
5
5
5
2
5
2
2
5
2
2
3
2
3
2
2
5
2
5
2
3
3
3
5
5
3
5
3
2
5
5
3
3
2
3
2
2
2
3
2
3
2
3
2
2
2
5
2
5
5
2
2
3
3
2
3
2
2
5
2
2
3
5
3
3
5
2
2
5
5
3
2
3
3
3
3
5
3
3
5
3
5
2
3
2
3
2
3
2...

output:

6330

result:

ok single line: '6330'

Test #18:

score: 0
Accepted
time: 1195ms
memory: 25472kb

input:

5000
6
14
35
14
14
6
14
14
14
6
15
15
10
21
15
6
21
6
6
35
21
21
6
15
35
15
10
14
35
10
15
10
35
6
15
10
14
14
21
15
10
15
14
6
10
21
35
21
21
21
10
21
35
6
35
15
6
35
10
14
15
6
35
14
35
21
35
6
14
10
21
15
10
21
6
14
35
35
15
6
6
10
35
15
21
21
35
10
15
10
14
35
21
21
21
6
6
35
15
21
21
14
14
21
3...

output:

1666

result:

ok single line: '1666'

Test #19:

score: 0
Accepted
time: 1226ms
memory: 25496kb

input:

5000
21
15
6
10
6
14
6
14
10
15
10
14
10
15
35
15
14
14
6
6
10
35
21
14
10
35
10
15
10
6
15
14
15
10
21
21
21
15
35
21
21
6
15
21
6
35
10
10
10
15
10
15
15
10
21
15
35
10
6
15
21
35
15
35
15
35
14
15
10
6
35
10
14
10
14
6
21
10
21
35
10
35
21
14
10
15
10
6
10
35
6
14
6
35
15
21
14
15
35
21
10
35
21
...

output:

510

result:

ok single line: '510'

Test #20:

score: 0
Accepted
time: 1254ms
memory: 25816kb

input:

5000
5
1
1
1
1
5
1
3
1
1
3
1
1
1
3
3
1
1
1
1
3
1
3
1
1
1
5
3
5
1
3
1
1
1
3
3
1
1
5
1
1
1
5
5
3
5
1
1
1
1
5
1
1
1
5
5
1
1
1
1
1
3
3
1
5
1
5
1
1
3
3
1
1
3
1
3
1
1
1
1
1
1
1
3
1
5
3
3
3
1
3
1
1
5
1
1
1
1
3
3
3
5
5
5
5
3
1
5
5
5
1
3
1
1
1
1
1
5
3
1
3
1
3
3
1
3
3
1
1
5
3
3
3
3
3
5
1
1
1
3
1
1
5
1
1
5
3
1...

output:

9450

result:

ok single line: '9450'

Test #21:

score: 0
Accepted
time: 1273ms
memory: 25740kb

input:

5000
6
6
10
6
10
6
10
21
10
6
15
21
35
10
14
10
15
10
10
15
6
14
15
35
14
14
15
6
35
10
35
10
14
21
21
21
15
21
14
6
21
10
15
14
35
15
35
21
35
14
6
35
10
15
35
21
35
10
14
35
14
35
21
21
10
15
10
14
35
15
35
35
6
35
14
21
35
14
14
21
21
15
14
14
21
15
10
15
6
6
10
35
14
35
14
21
6
14
14
10
35
6
6
2...

output:

1965

result:

ok single line: '1965'

Test #22:

score: 0
Accepted
time: 1256ms
memory: 25468kb

input:

4999
100
94
98
90
94
86
90
86
81
94
80
80
98
89
90
92
97
93
91
89
94
85
92
82
84
82
93
80
99
92
91
84
98
90
95
86
94
89
82
85
84
97
83
98
94
94
83
100
91
97
84
95
94
93
93
90
84
90
96
82
89
97
83
85
83
95
82
90
92
90
83
85
100
93
84
86
86
94
89
94
88
100
88
97
89
98
96
95
95
97
85
95
87
95
84
99
80
...

output:

4469

result:

ok single line: '4469'

Test #23:

score: 0
Accepted
time: 1255ms
memory: 25552kb

input:

4999
75
75
62
65
78
63
61
62
68
68
72
69
79
63
77
74
79
78
79
70
75
68
69
78
80
63
68
76
70
62
63
67
69
80
78
71
71
77
76
67
62
74
69
67
69
67
62
78
67
62
71
65
64
68
76
61
76
80
67
63
70
62
64
67
63
65
65
64
71
77
68
66
60
63
73
72
75
77
64
76
63
78
68
80
63
78
68
71
65
80
70
66
73
75
62
67
75
67
7...

output:

4476

result:

ok single line: '4476'

Test #24:

score: 0
Accepted
time: 1259ms
memory: 25528kb

input:

4999
44
47
46
52
56
42
41
59
43
54
52
54
44
50
59
46
48
52
56
53
44
46
43
42
50
42
47
47
49
56
58
41
52
49
44
53
47
49
47
50
44
48
41
44
54
57
50
54
59
42
60
51
42
52
57
40
51
47
59
49
50
57
60
52
60
42
41
51
40
58
47
52
41
41
42
59
55
52
51
41
44
52
43
40
54
42
40
53
49
51
46
58
50
46
47
52
44
47
4...

output:

4641

result:

ok single line: '4641'

Test #25:

score: 0
Accepted
time: 1262ms
memory: 25588kb

input:

4999
29
32
28
31
33
21
26
21
40
29
21
28
23
26
21
31
32
31
22
30
35
38
24
31
35
25
35
40
25
22
37
40
22
36
39
33
28
37
23
32
27
28
27
20
29
38
40
40
31
20
31
30
22
34
20
26
39
26
28
39
35
36
31
40
25
21
39
23
24
29
35
35
31
24
29
40
23
27
26
21
27
37
25
25
35
40
32
33
26
30
28
37
29
28
24
20
34
21
3...

output:

4617

result:

ok single line: '4617'

Test #26:

score: 0
Accepted
time: 1246ms
memory: 25548kb

input:

5000
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7...

output:

0

result:

ok single line: '0'

Test #27:

score: 0
Accepted
time: 1241ms
memory: 25468kb

input:

5000
55
35
77
35
35
35
77
35
35
55
77
35
77
77
35
77
55
35
77
35
77
55
55
35
77
77
77
35
55
55
35
77
35
55
55
55
55
77
55
35
77
77
35
35
77
35
55
35
35
55
77
35
55
35
35
55
55
55
35
55
55
35
35
77
55
35
55
77
55
35
55
55
55
77
77
77
35
35
77
35
35
35
35
35
77
55
35
35
55
55
35
77
55
35
55
35
77
55
3...

output:

0

result:

ok single line: '0'

Test #28:

score: 0
Accepted
time: 1246ms
memory: 25472kb

input:

5000
24
24
9
6
6
12
72
6
12
18
9
12
9
18
12
18
6
9
12
12
18
12
18
6
24
9
6
9
72
12
12
6
12
24
24
24
72
9
18
9
72
12
9
18
6
9
24
18
18
72
24
6
12
72
18
6
18
9
9
9
6
18
6
24
12
9
18
24
24
6
6
72
18
12
24
24
9
72
6
6
18
24
6
6
6
18
12
24
24
18
12
9
6
9
72
18
12
72
9
72
6
6
6
9
72
18
24
6
24
12
6
18
18
...

output:

0

result:

ok single line: '0'

Test #29:

score: 0
Accepted
time: 1244ms
memory: 25484kb

input:

4999
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1...

output:

9998

result:

ok single line: '9998'

Test #30:

score: 0
Accepted
time: 1257ms
memory: 25712kb

input:

5000
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
89
8...

output:

372

result:

ok single line: '372'

Test #31:

score: 0
Accepted
time: 25ms
memory: 5880kb

input:

2
45
20
2 1

output:

0

result:

ok single line: '0'

Test #32:

score: 0
Accepted
time: 33ms
memory: 5788kb

input:

8
5
3
3
3
3
2
2
2
1 2
1 3
1 4
1 5
1 6
1 7
1 8

output:

6

result:

ok single line: '6'

Test #33:

score: 0
Accepted
time: 30ms
memory: 5916kb

input:

8
5
4
4
4
4
8
8
8
1 2
1 3
1 4
1 5
1 6
1 7
1 8

output:

2

result:

ok single line: '2'

Test #34:

score: -100
Wrong Answer
time: 1256ms
memory: 25480kb

input:

5000
1
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53...

output:

5146

result:

wrong answer 1st lines differ - expected: '5141', found: '5146'