#include<iostream>
#include<cstdlib>
using namespace std;
int cmp(const void*p1,const void*p2)
{
const int* a1=(const int*)p1;
const int* a2=(const int*)p2;
if(*a1<*a2)
return -1;
else if(*a1==*a2)
return 0;
else
return 1;
}
int main()
{
int array[1000];
int N,n;
cin>>N;
while(N--)
{
int i,sum=0;
int second1=0,second2=0;
memset(array,0,1000*sizeof(int));
cin>>n;
for(i=0;i<n;i++)
cin>>array[i];
qsort(array,n,sizeof(int),cmp);
for(i=n-1;i>2;i-=2)
{
second1=array[0]+2*array[1]+array[i];
second2=2*array[0]+array[i-1]+array[i];
if(second1>second2)
sum+=second2;
else
sum+=second1;
}
if(i==2)
sum+=array[0]+array[1]+array[2];
else if(i==1)
sum+=array[1];
else
sum+=array[0];
cout<<sum<<endl;
}
return 0;
}
POJ1700 渡河
最新推荐文章于 2023-04-14 02:21:45 发布