P8772 [蓝桥杯 2022 省 A] 求和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
处理 前缀和
提取公因式 然后模拟
#include<iostream>
using namespace std;
const int N=2e5+10;
long long a[N];
long long b[N],s[N];
int main(){
int n;
cin>>n;
a[0]=0;
for(int i=1;i<=n;i++){
cin>>a[i];
s[i]=s[i-1]+a[i];//前缀和
}
long long ans=0;
long long j=2;
for(int i=1;i<n;i++){
if(j<=n){
ans+=a[i]*(s[n]-s[j-1]);
j++;
}
}
cout<<ans;
return 0;
}