https://www.acwing.com/problem/content/description/4647/
数学公式法

#include<iostream>
using namespace std;
const int N=2e5+10;
typedef long long LL;
int a[N];
int main(){
int n;
cin>>n;
LL res=0;LL sum1=0;
for(int i=1;i<=n;++i){
cin>>a[i];
res+=a[i];
sum1+=a[i]*a[i];
}
cout<<(res*res-sum1)/2<<endl;
return 0;
}
或者前缀和
#include<iostream>
using namespace std;
const int N=2e5+10;
typedef long long LL;
LL s[N],a[N];
int main(){
int n;
cin>>n;
for(int i=1;i<=n;++i){
cin>>a[i];
s[i]=s[i-1]+a[i];
}
LL res=0;
for(int i=1;i<=n;++i){
res+=a[i]*(s[n]-s[i]);
}
cout<<res<<endl;
return 0;
}