过桥问题..
漆黑的夜里,n位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,他们一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,每人所需要的时间分别是a1、a2、...an分钟;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行动时所需的时间。问题是,如何设计一个方案,让这些人尽快过桥。#include<stdio.h>
int main()
{
int n,a[100],i,m=0,s,j,t;
while(scanf("%d",&n)!=0)
{
s=0;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
for(j=1+i;j<n;j++)
if(a[j]<a[i])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
if(n%2==0)
{for(i=n-1;i>=1;i=i-2)
s=s+a[i];
s=s+(n-2)*a[1]+a[0]*(n-2)/2;
printf("%d\n",s);}
else
{for(i=n-1;i>=0;i=i-2) s=s+a[i];
s=s+(n-3)*a[1]+a[0]*(n-3)/2+a[1];
printf("%d\n",s);}
}
return(0);
}