注:用的是Luogu在线IDE
by XiaoYiii @ 2024-02-01 19:17:38
@[XiaoYiii](/user/1025891) 你要存储 `pair<int, int>` 类型,那你后面几个参数也应该把 `int` 改成 `pair<int, int>` 啊
by yyrwlj @ 2024-02-01 19:18:26
@[XiaoYiii](/user/1025891) 然后第1问,本来用 set 是没有问题的,但是你这个代码的思路就有问题啊
by yyrwlj @ 2024-02-01 19:20:09
@[yyrwlj](/user/965685) 那vector没改,thanks
by XiaoYiii @ 2024-02-01 19:21:34
@[yyrwlj](/user/965685) first 存当前这堆果子的大小,second 存当前合并到这堆果子所用的次数,并且和一般的sum求和做法结果一样啊?
by XiaoYiii @ 2024-02-01 19:25:49
AC
```c
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+3;
int n,k,a[maxn];
int main(){
scanf("%d",&n);
for (int i=1;i<=n;i++) scanf("%d",&a[i]);
sort(a+1,a+n+1); reverse(a+1,a+n+1);
int ans=0;
while (n>1){
ans+=a[n-1]+a[n];
a[n-1]=a[n-1]+a[n]; n--;
int p=n;
while (p>1&&a[p]>a[p-1])
swap(a[p],a[p-1]),p--;
}
printf("%d\n",ans);
return 0;
}
```
by timmyliao @ 2024-02-01 19:25:56
@[timmyliao](/user/1095093) 其实我已经AC了
by XiaoYiii @ 2024-02-01 19:35:43
@[timmyliao](/user/1095093)
提醒你一句,讨论区发AC代码容易遭
by Miss_SGT @ 2024-02-03 13:11:33
@[Miss_SGT](/user/705012)
谢谢了
by timmyliao @ 2024-02-03 13:30:32