#include<iostream>
#include<bits/stdc++.h> // 包含常用的STL库头文件
using namespace std;
int main()
{
int i,n;
cin>>n; // 输入整数 n,表示有 n 个整数
int a[n+1]; // 声明一个数组 a,用于存储 n 个整数
long long s[n+1]; // 声明一个数组 s,用于存储相乘相加的和,数据类型为 long long,以应对可能的大数
long long sum[n+1]; // 声明一个数组 sum,用于存储前缀和,即前 i 个数的和
sum[0]=0; // 初始化前缀和数组的第一个元素为 0,表示前 0 个数的和为 0
for(i=1; i<=n; i++)
{
cin>>a[i]; // 输入第 i 个整数
sum[i]=sum[i-1]+a[i]; // 计算前 i 个数的和,存储在 sum 数组中
}
s[2]=a[1]*a[2]; // 初始化 s 数组的第二个元素,表示第一个数和第二个数的乘积
for(i=3; i<=n; i++)
{
s[i]=s[i-1]+sum[i-1]*a[i]; // 计算 s[i],表示前 i 个数两两相乘再相加的和
}
cout<< s[n]; // 输出计算结果
return 0;
}
蓝桥杯 2022 省 A 求和
最新推荐文章于 2024-06-07 15:44:16 发布