1049 数列的片段和 测试点2、3数据精度问题

问题

		cnt=cnt+a[i]*(i+1)*(n-i);

此处容易溢出,因此必须用long double

注意点

cout的格式化输出,iomanip

	cout<<fixed<<setprecision(2)<<cnt;

代码

#include <iostream>
#include <cstdio>
#include <iomanip>
using namespace std;

long double a[100003];
int main(){

	long n;
	long double cnt=0;
	cin>>n;
	for(long i=0;i<n;i++){
		cin>>a[i];
		cnt=cnt+a[i]*(i+1)*(n-i);
	}
	cout<<fixed<<setprecision(2)<<cnt;
    return 0;
}

posted @ 2022-07-09 18:25  qwasdasd  阅读(35)  评论(0)    收藏  举报