#include<bits/stdc++.h>
#define ll long long
#define F(i,a,b) for(ll i=a;i<=b;i++)
#define R(i,a,b) for(ll i=a;i>=b;i--)
#define sc(a) scanf("%lld",&a)
#define ps(a) printf("%lld ",a)
#define pn(a) printf("%lld\n",a)
using namespace std;
const ll N=1e3+7;
ll n,d[N][N],f[(1<<17)+7],las[(1<<17)+7];
inline ll get_one(ll x){
ll cnt=0;
while(x){
cnt+=(x%2==1);
x/=2;
}
return cnt;
}
int main(){
sc(n);
F(i,1,n){
F(j,i+1,n){
sc(d[i][j]);
}
}
f[0]=0;
F(i,1,((1<<n)-1)){
ll dk=get_one(i);
if(dk&1){
for(ll j=0;j<n;j++){
if(((i>>j)&1)==1){
if(f[i-(1<<j)]>=f[i]) las[i]=j+1;
f[i]=max(f[i],f[i-(1<<(j))]);
}
}
}
else{
for(ll j=0;j<n;j++){
if(((i>>j)&1)==1){
ll a=min(las[i-(1<<j)],j+1),b=max(las[i-(1<<j)],j+1);
f[i]=max(f[i],f[i-(1<<(j))]+d[a][b]);
}
}
}
}
pn(f[(1<<n)-1]);
return 0;
}
WA了一个,剩下AC,求帮/kel