1. a[1]+a[0]+a[max]+a[1]
2. a[max]+a[0]+a[max-1]+a[0]
#include<cstdio>
#include<algorithm>
using namespace std;
int n,a[100005],k;
long long ans;
int main(){
scanf("%d",&n);
k=n;
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
if(n>3){
k=n%2+2;
for(int i=n-1;i>2;i-=2)
ans+=min(a[0]+a[1]*2+a[i],a[0]*2+a[i]+a[i-1]);
}
if(k==1)printf("%d\n",a[0]);
else if(k==2)printf("%lld\n",ans+a[1]);
else if(k==3)printf("%lld\n",ans+a[0]+a[1]+a[2]);
}
沒有留言:
張貼留言