请给出P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G的解法
时间: 2023-02-12 19:47:38 浏览: 96
合并果子源代码
P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G的解法可以使用贪心算法。
首先将所有果子按长度从小到大排序。然后每次将最小的两个果子合并,并将新的果子插入排序好的序列中。
时间复杂度为O(n log n)。
代码如下:
```
#include<cstdio>
#include<algorithm>
using namespace std;
int n,ans;
int a[10001];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%d",&a[i]);
sort(a+1,a+n+1);
for(int i=1;i<=n-1;i++){
ans+=a[1]+a[2];
a[1]+=a[2];
sort(a+1,a+n+1);
}
printf("%d",ans);
return 0;
}
```
阅读全文