这道题是一道简单的思维题,把情况都列出来,就可以轻松地找到其中的规律。但是我提交了之后,一直WA一个点,百思不得其解,后来听别人说,开到long double就可以了。我还是第一次听说long double,顺便记录一下long double如何用scanf输入:scanf("%Lf",&ans);
下面是本题的AC代码:
#include <iostream>
#include<vector>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<map>
#include<cstdlib>
#include<queue>
#include<cstring>
#include<set>
#include<list>
#include<unordered_set>
using namespace std;
int n;
long double a[100010]={0};
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%Lf",&a[i]);
long double ans=0;
for(int i=1;i<=n;i++)
{
ans+=a[i]*(n-i+1)*i;
}
printf("%.2Lf",ans);
}