https://pintia.cn/problem-sets/994805260223102976/problems/994805275792359424
思路
暴力会超时,通过观察可以得到规律,第一个数会加n*1次,第二个数会加(n-1)*2次,以此类推。
公式就是第i+1个数会加(n-i)*(i+1)次,所以只需要一次循环,输入的同时做乘法就行了;
测试点
2、3:不能用float
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
double a[n]={0},sum=0;
for (int i=0; i<n; ++i) {
scanf("%lf",&a[i]);
sum+=a[i]*(n-i)*(i+1);
}
printf("%0.2lf",sum);
}