posts - 100,  comments - 15,  trackbacks - 0
//
#include<iostream>
#include
<stdlib.h>
using namespace std;
#define MAXN 1000
int time[MAXN+1];

int cmp(const void *a,const void *b)
{
    
return *(int*)a-*(int*)b;
}

int main()
{
    
int T,N,i,totaltime;
    cin
>>T;
    
while(T--)
    
{
        cin
>>N;
        
for(i=0;i<N;i++)
            cin
>>time[i];
        qsort(time,N,
sizeof(time[0]),cmp);
        totaltime
=0;
        
for(i=N-1;i>2;i-=2)
        
{
            
if(2*time[1]<time[0]+time[i-1])
                totaltime
+=time[0]+2*time[1]+time[i];
            
else totaltime+=2*time[0]+time[i-1]+time[i]; 
        }

        
if(i==0) totaltime+=time[0];
        
if(i==1) totaltime+=time[1];
        
if(i==2) totaltime+=time[0]+time[1]+time[2];
        cout
<<totaltime<<endl;
    }

    
return 0;
}
posted on 2009-07-08 22:49 wyiu 阅读(76) 评论(0)  编辑 收藏 引用 所属分类: POJ

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理