Skip to content

Commit aa5a783

Browse files
Time: 1414 ms (5.17%), Space: 17.4 MB (26.55%) - LeetHub
1 parent 96f7a14 commit aa5a783

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution {
2+
public:
3+
map<int,int>m;
4+
int c(int t,int mask,vector<int>&nums){
5+
if(t==0)return 0;
6+
if(m[mask])return m[mask];
7+
int ans=0;
8+
for(int i=0;i<nums.size();i++){
9+
for(int j=0;j<nums.size();j++){
10+
if((mask & (1<<i)) && (mask & (1<<j)) && (i!=j)){
11+
ans=max(ans,t*__gcd(nums[i],nums[j]) + c(t-1,mask^(1<<i)^(1<<j),nums));
12+
}
13+
}
14+
}
15+
m[mask]=ans;
16+
return ans;
17+
}
18+
int maxScore(vector<int>& nums) {
19+
int n=nums.size();
20+
int mask=(1<<n)-1;
21+
return c(n/2,mask,nums);
22+
}
23+
};

0 commit comments

Comments
 (0)