天天看點

PAT 甲級 1125 Chain the Ropes

題意:給定一些長度的繩子段,然後把這些繩子段連接配接起來,連接配接後的長度為總的長度的一半,halved減半的意思,題目最後說結果要向下取整,不超過最長的長度,我覺得因該要用double接受值,最後在進行向下取整,但是無語的是有幾個點通不過,看柳神的直接用int類型接受,每次截取一半之後直接取整數部分。

思路:依次把段的長度相加之後除2,用int類型接受。思路簡單,但是英文看不懂,我枯了

代碼:

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main() {
	int n;
	cin >> n;
	vector<int> v(n);
	for (int i = 0; i < n; i++) {
		scanf("%d", &v[i]);
	}
	sort(v.begin(),v.end());
	int sum = v[0];
	for (int i = 1; i < n; i++) {
		sum = (sum + v[i]) / 2;
	}
	printf("%d\n",sum);
	system("pause");
	return 0;
}