题解(目前已知ACGO可AC)
2026-07-06 21:28:17
发布于:上海
8阅读
0回复
0点赞
题目很简单
分四部做
1.输入
2.排序
3.求和
4.输出
这难度......(这次考五级的人也是太走运啦)
下为代码
#include<bits/stdc++.h>
using namespace std;
int a[1999];
bool cmp(int x, int y){ //在求和部分倒序遍历无需cmp
return x > y;
}
long long ans; //保险起见
int main(){
int n;
cin >> n;
for(int i = 1; i <= n; i++){ //输入
cin >> a[i];
}
sort(a+1, a+n+1, cmp); //排序 sort时间够用
ans = a[1];
for(int i = 2; i <= n; i++){ //求和
a[i] += a[i-1]; //此位 = 上一位+第此位
ans += a[i]; //累积
}
cout << ans; //输出
return 0;
}
代码写的就是一坨或许并不好 所以仅供参考

全部评论 1
我觉得思路还是很好的,我的代码是这样的:
include <bits/stdc++.h>
using namespace std;
int main(){
int n,a[1005]={},sum=0;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
int plus=a[i]*i;
sum+=plus;
}
cout<<sum;
return 0;
}4天前 来自 四川
1这样写也挺好的
4天前 来自 上海
0









有帮助,赞一个