//2019.3.4再看
题目:
本题不能硬来,否则肯定会超时的,所以要分析一波数学规律
分析:
从本题的例子来推的话:
1)对于1一共有4种情况:1,12,123,1234;
2)对于2一共有6种情况
先推带有2左边元素的:12,123,1234
只含有2及2右边元素的:2,23,234;
3)对于3一共有5种:
先推带有3左边元素的:123,1234,23,234,
只含有3及3右边元素的:3,34;
4)对于4一共有4种:1234,234,34,4,
总结规律为:一个数i被计算的次数:(i+1)*(n-i);
#include<cstdio>
int main()
{
int n;
//freopen("1049.txt","r",stdin);
scanf("%d",&n);
double a[n+1],sum=0;
for(int i=0;i<n;i++)
{
scanf("%lf",&a[i]);
sum+=a[i]*(i+1)*(n-i);//计算每个数算了多少次
}
printf("%.2f",sum);
return 0;
}