- 找规律
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
int n;
double ans = 0.0;
cin >> n;
for(int i = 1; i <= n; i++)
{
double temp;
cin >> temp;
ans += i * (n - i + 1) * temp;
}
printf("%.2f", ans);
return 0;
}
- 暴力(结果当然是超时的)
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;
const int maxn = 100010;
double a[maxn]={0};
int main()
{
int n;
double ans=0;
cin>>n;
for(int i=0;i<n;i++)
{
scanf("%lf",&a[i]);
}
sort(a,a+n);
for(int i=0;i<n;i++)
{
double sum=0;
for(int j=i;j<n;j++)
{
sum+=a[j];
ans+=sum;
}
}
printf("%.2f",ans);
return 0;
}