第二題很多人都說是赫夫曼樹,我就排了個序就過了,之后推敲了一下這個邏輯是可行的,當然赫夫曼樹也是正解,有興趣的同學可以用赫夫曼樹做一下
#include<iostream>#include<vector>#include<string>#include<algorithm>using namespace std;int main(){	int n, i;	double s[10005], len = 0;	scanf("%d", &n);	for (i = 0; i < n; i++) {		scanf("%lf", &s[i]);	}	sort(s, s + n);	len = s[0];	for (i = 1; i < n; i++) {		len = len / 2 + s[i] / 2;	}	int l = (int)(len);	if (l <= len) {		PRintf("%d/n", l);	}	else {		printf("%d/n", l - 1);	}	return 0;}
新聞熱點
疑難解答