solution
#include<iostream>
using namespace std;
typedef long long ll;
const int maxn = 2e5 + 10;
ll a[maxn], sum[maxn] = {0};
int main(){
int n;
ll ans = 0;
scanf("%d", &n);
for(int i = 1; i <= n; i++){
scanf("%d", a + i);
}
for(int i = n; i >= 1; i--){
sum[i] = sum[i + 1] + a[i];
}
for(int i = 1; i < n; i++){
ans += a[i] * sum[i + 1];
}
printf("%lld", ans);
return 0;
}
或者
#include<iostream>
using namespace std;
typedef long long ll;
const int maxn = 2e5 + 10;
ll a[maxn], sum[maxn] = {0};
int main(){
int n;
ll ans = 0;
scanf("%d", &n);
for(int i = 1; i <= n; i++){
scanf("%d", a + i);
sum[i] = sum[i - 1] + a[i];
}
for(int i = 1; i < n; i++){
ans += a[i] * (sum[n] - sum[i]);
}
printf("%lld", ans);
return 0;
}