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 N,i,totaltime;
    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:50 wyiu 阅读(160) 评论(0)  编辑 收藏 引用 所属分类: POJ

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