您的位置:首页 > 其它

Crossing River

2016-07-13 16:03 106 查看
#include<stdio.h>

#include<stdlib.h>

#include<algorithm>

using namespace std;

int cmp(const void *a,const void *b)

{

return *(int *)a-*(int *)b;

}

int main()

{

int t, n, a[1001], i;

scanf("%d", &t);

while(t--)

{

int sum = 0;

scanf("%d", &n);

for(i=0; i<n; i++)

{

scanf("%d", &a[i]);

}

qsort(a, n, sizeof(a[0]), cmp);

while(1)

{

if(n == 1)

{

sum += a[0];

break;

}

else if(n == 2)

{

sum += a[1];

break;

}

else if(n == 3)

{

sum += a[0]+a[1]+a[2];

break;

}

else

{

if(2*a[1] > a[n-2]+a[0])

sum += 2*a[0]+a[n-1]+a[n-2];

else

sum += 2*a[1]+a[0]+a[n-1];

n = n-2;

}

}

printf("%d\n", sum);

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: