题目链接
每个在序列中的数会在两部分出现,一部分是以自己为首元素的子串,次数为n-i,另一部分是i之前元素为首的子串中,在一个元素的首的所有子串中也出现(n-i)次,一共是i*(n-i)+(n-i),如果按这个写法写case 2,case 3会出错,合并同类项写成(i+1)(n-i)就会AC,我也不知道为什么。
#include<cstdio>
double sum=0;
int n;
int main(){
scanf("%d",&n);
for(int i=0;i<n;i++){
double temp;
scanf("%lf",&temp);
sum+=temp*(i+1)*(n-i);
}
printf("%.2f",sum);
return 0;
}