输入格式:
每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数
N
(
2
≤
N
≤
1
0
4
)
N (2≤N≤10^4 )
N(2≤N≤104);第 2 行给出
N
N
N 个正整数,即原始绳段的长度,数字间以空格分隔。所有整数都不超过
1
0
4
10^4
104 。
输出格式:
在一行中输出能够串成的绳子的最大长度。结果向下取整,即取为不超过最大长度的最近整数。
输入样例:
8
10 15 12 3 4 13 1 15
输出样例:
14
#include<stdio.h> #include<stdlib.h> int cmp_1070_KnottedRope(const void *a,const void *b) { return *(int*)a > *(int*)b; } int main() { int n; scanf("%d",&n); int *nums = (int*)malloc(sizeof(int)*n); for(int i = 0;i<n;i++) { scanf("%d",&nums[i]); } qsort(nums,n,sizeof(int),cmp_1070_KnottedRope); float res = nums[0]; for(int i = 1;i<n;i++) { res = (res + nums[i]) / 2; } printf("%d",(int)res); return 0; }