QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#87833#21. GCD-sumReanap0 10ms5432kbC++142.4kb2023-03-14 15:00:232023-03-14 15:00:25

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-03-14 15:00:25]
  • 评测
  • 测评结果:0
  • 用时:10ms
  • 内存:5432kb
  • [2023-03-14 15:00:23]
  • 提交

answer

#include <bits/stdc++.h>
#define pii pair <int , int>
#define pll pair <LL , LL>
#define mp make_pair
#define fs first
#define sc second
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;

//const int Mxdt=100000;
//static char buf[Mxdt],*p1=buf,*p2=buf;
//#define getchar() p1==p2&&(p2=(p1=buf)+fread(buf,1,Mxdt,stdin),p1==p2)?EOF:*p1++;

template <typename T>
void read(T &x) {
	T f=1;x=0;char s=getchar();
	while(s<'0'||s>'9') {if(s=='-') f=-1;s=getchar();}
	while(s>='0'&&s<='9') {x=(x<<3)+(x<<1)+(s^'0');s=getchar();}
	x *= f;
}

template <typename T>
void write(T x , char s='\n') {
	if(!x) {putchar('0');putchar(s);return;}
	if(x<0) {putchar('-');x=-x;}
	T t = 0 , tmp[25] = {};
	while(x) tmp[t ++] = x % 10 , x /= 10;
	while(t -- > 0) putchar(tmp[t] + '0');
	putchar(s);
}

const int MAXN = 5e5 + 5;

int n , a[MAXN];

int Gcd(int a , int b) {
	if(!b) return a;
	return Gcd(b , a % b);
}

namespace BF {
	LL f[(1 << 15) + 5][20] , v[(1 << 15) + 5] , Cnt[(1 << 15) + 5] , Ans[20];
	void solve() {
		for (int s = 0; s < (1 << n); ++s) {
			for (int i = 1; i <= n; ++i) if((s >> (i - 1)) & 1) {
				v[s] = Gcd(v[s] , a[i]); 
			}
			for (int i = 0; i <= n; ++i) f[s][i] = -1e18;
		}
		
		f[0][0] = 0;
		for (int i = 1; i <= n; ++i)
			for (int s = 1; s < (1 << n); ++s) {
				for (int t = s; t; t = (t - 1) & s) {
					f[s][i] = max(f[s][i] , f[s ^ t][i - 1] + v[t]);
				}
			}
		for (int i = 1; i <= n; ++i) write(f[(1 << n) - 1][i]);
	}
}

LL Ans[MAXN];

int main() {
//	freopen("divide.in" , "r" , stdin);
//	freopen("divide.out" , "w" , stdout);
	read(n);
	int mx = 0;
	for (int i = 1; i <= n; ++i) {
		read(a[i]);
		mx = max(mx , a[i]);
	}
	sort(a + 1 , a + 1 + n);
//	if(n <= 15) {
//		BF::solve();
//		return 0;
//	}
//	cerr << "ok" << endl;
	for (int i = 1; i <= mx; ++i) {
		int num = 1 , tot = 0; 
		LL val = 0;
		priority_queue <LL , vector <LL> , less <LL> > Q;
		for (int j = 1; j <= n; ++j) 
			if(a[j] % i == 0) {
				if(tot) Q.push(a[j]);
				tot ++;
			}
			else if(a[j] != a[j - 1]) val += a[j] , num ++;
			else Q.push(a[j]);
		Ans[num] = max(Ans[num] , val + i);
		while(!Q.empty()) {
			val += Q.top();
			num ++;
			Q.pop();
			Ans[num] = max(Ans[num] , val + i);
		}
	}
	for (int i = 1; i <= n; ++i) Ans[i] = max(Ans[i - 1] , Ans[i]) , write(Ans[i]);
	
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 5
Accepted
time: 2ms
memory: 5248kb

input:

7
18 30 10 23 1 3 13

output:

1
31
54
72
85
95
98

result:

ok 7 lines

Test #2:

score: -5
Wrong Answer
time: 0ms
memory: 5364kb

input:

7
11 12 12 15 30 6 10

output:

1
31
46
58
72
84
113

result:

wrong answer 7th lines differ - expected: '96', found: '113'

Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Wrong Answer

Test #31:

score: 0
Wrong Answer
time: 3ms
memory: 5380kb

input:

100
268 467 21 173 158 287 36 446 36 340 311 283 58 77 464 119 460 198 405 331 214 331 255 157 418 319 354 289 330 64 11 484 186 129 130 368 370 468 292 180 427 76 87 156 13 379 268 170 3 15 263 52 296 242 7 296 376 148 221 270 218 131 326 198 399 132 270 55 299 444 134 222 278 486 409 72 38 193 359...

output:

1
497
990
1476
1960
2428
2895
3359
3819
4274
4720
5164
5591
6009
6420
6829
7234
7633
8028
8422
8801
9177
9547
9915
10277
10636
10990
11335
11675
12006
12337
12667
12993
13312
13623
13934
14244
14543
14839
15135
15427
15716
16003
16286
16564
16838
17108
17378
17646
17914
18181
18444
18699
18941
19166...

result:

wrong answer 98th lines differ - expected: '24529', found: '24714'

Subtask #4:

score: 0
Time Limit Exceeded

Test #51:

score: 8
Accepted
time: 10ms
memory: 5264kb

input:

1270
1 2 6 7 8 9 10 11 13 14 16 18 19 20 22 23 25 26 28 30 31 32 33 37 38 40 42 43 44 45 46 47 48 49 50 52 53 55 56 57 58 59 62 63 64 67 68 69 70 71 72 74 75 77 78 80 85 86 87 88 89 90 92 96 97 98 99 100 101 103 104 105 107 108 109 113 119 122 124 126 128 132 134 135 137 140 143 144 149 150 151 154 ...

output:

1
1996
3990
5983
7975
9966
11955
13943
15928
17912
19895
21873
23849
25824
27796
29767
31737
33706
35674
37641
39607
41570
43531
45490
47447
49402
51354
53304
55251
57197
59142
61084
63024
64963
66900
68836
70770
72703
74632
76560
78487
80413
82337
84260
86182
88103
90023
91941
93856
95770
97683
995...

result:

ok 1270 lines

Test #52:

score: 0
Accepted
time: 6ms
memory: 5416kb

input:

1265
1 2 5 6 7 8 9 10 12 14 15 16 17 18 19 20 24 26 28 29 30 31 32 33 34 35 37 38 39 40 41 43 44 45 46 47 50 56 57 59 62 63 64 65 66 67 68 69 70 71 74 75 77 83 84 85 86 87 88 89 91 92 95 97 98 100 101 102 105 106 107 108 109 110 112 114 115 116 117 118 119 120 122 123 124 125 126 128 129 133 134 136...

output:

1
2001
4000
5998
7994
9989
11983
13976
15968
17957
19945
21932
23917
25901
27883
29864
31841
33817
35792
37766
39738
41709
43678
45646
47612
49575
51537
53496
55454
57411
59367
61321
63274
65225
67175
69124
71072
73019
74965
76909
78852
80794
82735
84675
86613
88549
90481
92412
94342
96271
98198
100...

result:

ok 1265 lines

Test #53:

score: 0
Accepted
time: 10ms
memory: 5308kb

input:

1291
1 2 4 5 8 9 11 12 14 18 19 21 22 23 24 25 28 30 31 32 33 34 35 36 37 39 41 42 43 44 45 48 52 53 54 57 58 61 62 63 64 65 67 71 72 73 74 76 77 78 80 81 82 85 88 89 91 92 97 99 100 101 102 103 104 105 106 107 108 110 113 114 115 118 120 121 122 123 124 126 128 129 132 134 135 137 140 141 142 143 1...

output:

1
2001
4000
5996
7990
9983
11975
13966
15956
17945
19933
21918
23902
25880
27857
29833
31808
33777
35745
37712
39677
41641
43604
45566
47527
49487
51446
53404
55361
57317
59268
61218
63166
65113
67059
69004
70945
72884
74822
76759
78695
80630
82563
84492
86419
88345
90270
92194
94117
96038
97958
998...

result:

ok 1291 lines

Test #54:

score: 0
Accepted
time: 2ms
memory: 5236kb

input:

21
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 19...

output:

1
2001
4000
5998
7995
9991
11986
13980
15973
17965
19956
21946
23935
25923
27910
29896
31881
33865
35848
37830
41790

result:

ok 21 lines

Test #55:

score: 0
Accepted
time: 9ms
memory: 5364kb

input:

1002
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101...

output:

1
2001
3002
4002
5001
5999
6996
7992
8987
9981
10974
11966
12957
13947
14936
15924
16911
17897
18882
19866
20849
21831
22812
23792
24771
25749
26726
27702
28677
29651
30624
31596
32567
33537
34506
35474
36441
37407
38372
39336
40299
41261
42222
43182
44141
45099
46056
47012
47967
48921
49874
50826
5...

result:

ok 1002 lines

Test #56:

score: 0
Accepted
time: 5ms
memory: 5416kb

input:

1275
1 3 4 5 6 8 9 10 11 12 13 14 16 17 19 22 23 25 30 33 34 35 36 37 39 42 43 46 47 48 49 51 52 53 56 59 61 62 63 64 65 66 67 69 70 71 72 73 75 77 78 79 80 82 84 87 88 89 90 91 93 97 98 100 101 103 104 105 106 107 108 109 110 112 113 117 119 120 121 124 126 130 131 134 135 138 139 140 141 143 144 1...

output:

1
2001
3999
5995
7990
9984
11977
13969
15960
17949
19937
21924
23910
25895
27877
29858
31837
33814
35790
37765
39739
41712
43684
45655
47624
49592
51559
53523
55486
57447
59407
61366
63324
65281
67236
69189
71141
73092
75042
76989
78935
80880
82823
84765
86706
88646
90585
92522
94458
96392
98324
100...

result:

ok 1275 lines

Test #57:

score: 0
Accepted
time: 9ms
memory: 5344kb

input:

1276
1 6 7 8 9 11 12 13 15 18 20 21 22 25 29 31 32 33 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 56 57 59 61 63 64 65 66 67 68 69 70 72 73 75 76 77 78 80 81 83 84 85 86 88 90 91 93 95 96 97 99 101 103 104 105 109 110 111 112 113 114 116 117 121 122 123 124 126 130 132 134 137 138 139 141 ...

output:

1
2000
3997
5993
7988
9982
11975
13964
15951
17937
19922
21906
23889
25869
27847
29824
31797
33769
35740
37710
39678
41645
43611
45576
47539
49501
51462
53422
55379
57335
59290
61244
63197
65147
67096
69044
70991
72937
74882
76825
78762
80698
82633
84567
86499
88430
90360
92287
94213
96138
98062
999...

result:

ok 1276 lines

Test #58:

score: 0
Accepted
time: 5ms
memory: 5376kb

input:

1271
1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 18 20 21 22 23 25 26 27 29 30 33 34 35 37 38 40 41 45 46 48 49 50 51 52 53 54 55 56 59 64 66 69 74 75 76 78 82 83 85 86 87 88 89 91 92 93 95 96 97 98 102 103 104 105 106 108 110 112 113 115 116 118 119 121 122 123 124 125 126 127 128 135 136 141 143 145 147 ...

output:

1
1999
3996
5992
7987
9981
11974
13965
15955
17944
19930
21914
23896
25876
27849
29821
31791
33760
35727
37693
39657
41617
43576
45533
47488
49440
51389
53336
55282
57227
59171
61112
63052
64989
66924
68858
70791
72723
74654
76584
78513
80441
82368
84294
86219
88141
90062
91982
93898
95813
97727
996...

result:

ok 1271 lines

Test #59:

score: 0
Accepted
time: 0ms
memory: 5300kb

input:

21
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 19...

output:

1
2001
4000
5998
7995
9991
11986
13980
15973
17965
19956
21946
23935
25923
27910
29896
31881
33865
35848
37830
41790

result:

ok 21 lines

Test #60:

score: 0
Accepted
time: 8ms
memory: 5432kb

input:

1002
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101...

output:

1
2001
3002
4002
5001
5999
6996
7992
8987
9981
10974
11966
12957
13947
14936
15924
16911
17897
18882
19866
20849
21831
22812
23792
24771
25749
26726
27702
28677
29651
30624
31596
32567
33537
34506
35474
36441
37407
38372
39336
40299
41261
42222
43182
44141
45099
46056
47012
47967
48921
49874
50826
5...

result:

ok 1002 lines

Test #61:

score: 0
Accepted
time: 10ms
memory: 5304kb

input:

1255
2 4 5 7 8 9 11 12 13 14 17 18 19 23 25 26 27 28 30 33 38 39 41 42 43 44 46 48 49 50 52 55 56 58 59 61 63 66 67 68 71 73 74 76 77 78 79 81 83 84 85 86 88 90 93 95 96 98 100 101 102 103 104 108 109 110 112 113 114 115 117 118 121 122 123 124 125 126 128 129 131 132 133 134 135 136 137 139 142 143...

output:

1
1996
3990
5983
7975
9963
11950
13936
15920
17902
19883
21863
23841
25818
27794
29767
31739
33710
35680
37649
39617
41582
43546
45509
47469
49428
51386
53342
55297
57251
59204
61156
63107
65057
67006
68953
70899
72842
74783
76723
78661
80598
82534
84469
86402
88334
90264
92190
94114
96037
97959
998...

result:

ok 1255 lines

Test #62:

score: 0
Accepted
time: 10ms
memory: 5304kb

input:

1274
2 3 4 5 7 8 9 10 11 12 13 14 16 18 19 21 25 26 27 28 29 30 31 32 34 35 36 37 40 41 44 49 50 52 53 54 55 56 58 59 61 63 65 66 69 71 72 74 76 77 78 79 81 82 83 84 86 87 89 90 91 92 94 95 97 99 100 102 103 105 106 107 108 110 111 112 113 114 116 117 118 119 121 126 127 129 130 131 132 133 135 136 ...

output:

1
2000
3998
5994
7986
9977
11966
13953
15938
17921
19902
21882
23861
25838
27814
29789
31763
33736
35708
37679
39649
41613
43575
45535
47493
49450
51406
53359
55311
57262
59212
61161
63109
65056
67002
68947
70891
72832
74772
76711
78646
80580
82513
84445
86376
88306
90235
92163
94088
96012
97935
998...

result:

ok 1274 lines

Test #63:

score: 0
Accepted
time: 3ms
memory: 5344kb

input:

1262
1 2 3 5 7 9 11 12 13 14 15 18 19 21 22 23 25 26 30 31 33 34 35 36 40 41 42 43 46 47 49 51 52 53 54 55 56 58 59 60 61 62 64 65 68 69 70 72 73 74 76 79 80 81 82 86 87 88 90 92 93 95 98 99 100 102 105 107 108 109 110 112 116 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 1...

output:

1
2001
3999
5993
7986
9978
11969
13959
15948
17936
19922
21907
23891
25873
27854
29834
31813
33790
35765
37739
39712
41684
43654
45623
47591
49558
51523
53486
55446
57405
59363
61320
63276
65231
67185
69138
71090
73037
74983
76928
78872
80815
82757
84698
86638
88577
90513
92447
94379
96310
98239
100...

result:

ok 1262 lines

Test #64:

score: 0
Accepted
time: 2ms
memory: 5328kb

input:

21
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 1980 19...

output:

1
2001
4000
5998
7995
9991
11986
13980
15973
17965
19956
21946
23935
25923
27910
29896
31881
33865
35848
37830
41790

result:

ok 21 lines

Test #65:

score: 0
Accepted
time: 5ms
memory: 5360kb

input:

1002
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101...

output:

1
2001
3002
4002
5001
5999
6996
7992
8987
9981
10974
11966
12957
13947
14936
15924
16911
17897
18882
19866
20849
21831
22812
23792
24771
25749
26726
27702
28677
29651
30624
31596
32567
33537
34506
35474
36441
37407
38372
39336
40299
41261
42222
43182
44141
45099
46056
47012
47967
48921
49874
50826
5...

result:

ok 1002 lines

Test #66:

score: 0
Accepted
time: 2ms
memory: 5320kb

input:

12
1 3 6 10 11 12 15 16 18 19 22 26
22 26 26

output:

1
27
49
68
86
102
117
129
140
150
156
159

result:

ok 12 lines

Test #67:

score: 0
Accepted
time: 1ms
memory: 5324kb

input:

12
6 7 10 15 18 19 20 21 26 27 28 30
27 28 30

output:

1
31
59
86
112
133
153
172
190
205
215
227

result:

ok 12 lines

Test #68:

score: 0
Accepted
time: 3ms
memory: 5260kb

input:

13
1 2 4 7 8 9 12 15 16 19 24 25 30
25 30

output:

1
31
56
80
99
115
130
142
151
159
166
170
172

result:

ok 13 lines

Test #69:

score: 0
Accepted
time: 3ms
memory: 5376kb

input:

10
11 14 19 23 25 26 27 28 29 30
28 29 29 30 30

output:

1
31
60
88
115
141
166
189
208
232

result:

ok 10 lines

Test #70:

score: 0
Accepted
time: 2ms
memory: 5308kb

input:

9
2 4 6 8 10 12 14 15 28
15 15 15 15 15 28

output:

1
29
45
59
71
81
89
95
99

result:

ok 9 lines

Test #71:

score: -8
Time Limit Exceeded

input:

2000
1048576 1572864 1835008 1966080 2031616 2064384 2080768 2088960 2093056 2095104 2096128 2096640 2096896 2097024 2097088 2097120 2097136 2097144 2097148 2097151 2097152 2097153 2097154 2097155 2097156 2097157 2097158 2097159 2097160 2097161 2097162 2097163 2097164 2097165 2097166 2097167 2097168...

output:


result:


Subtask #5:

score: 0
Skipped

Dependency #1:

0%

Subtask #6:

score: 0
Skipped

Dependency #4:

0%

Subtask #7:

score: 0
Skipped

Dependency #1:

0%