QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#87833 | #21. GCD-sum | Reanap | 0 | 10ms | 5432kb | C++14 | 2.4kb | 2023-03-14 15:00:23 | 2023-03-14 15:00:25 |
Judging History
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%