洛谷 P1090 合并果子


没啥内容

排完序爬一遍


#include <iostream>
#include <algorithm>
using namespace std;

int arr[11000];

int main()
{
	int N;
	
	cin>>N;
	
	for(int i = 0; i < N; i++)
		cin>>arr[i];
		
	sort(arr, arr + N);
	
	int tf = 1, rs;
	long long ans = 0;
	
	while(tf < N)
	{
		rs = arr[tf - 1] + arr[tf];
		ans += rs;
		
		int i;
		for(i = tf + 1; arr[i] <= rs && i < N; i++)
		{
			arr[i - 1] = arr[i];
		}
		
		arr[i - 1] = rs;
		tf++;
		
	}
	
	cout<<ans<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/zeolim/article/details/81007594