
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;long long p[100010];int main(){ long long n,i,sum; while( scanf( "%d",&n )!=EOF ) { for( i=0;i<n;i++ ) scanf( "%lld",&p[i] ); sort( p,p+n ); if( n==0 ) printf( "0n" ); else if( n==1 ) printf( "%lldn",p[0] ); else if( n==2 ) printf( "%lldn",p[1] ); else if( n==3 ) printf( "%lldn",p[0]+p[1]+p[2] ); else { sum=0; for( i=n-1;i>=3;i-=2 ) sum+=min( p[0]+2*p[1]+p[i],2*p[0]+p[i-1]+p[i] ); if( n%2==0 ) sum+=p[1]; else sum+=( p[0]+p[1]+p[2] ); printf( "%lldn",sum ); } } return 0;}欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)