题目描述
给定 �n 个整数 �1,�2,⋯ ,��a1,a2,⋯,an, 求它们两两相乘再相加的和,即
�=�1⋅�2+�1⋅�3+⋯+�1⋅��+�2⋅�3+⋯+��−2⋅��−1+��−2⋅��+��−1⋅��S=a1⋅a2+a1⋅a3+⋯+a1⋅an+a2⋅a3+⋯+an−2⋅an−1+an−2⋅an+an−1⋅an
输入格式
输入的第一行包含一个整数 �n 。
第二行包含 �n 个整数 �1,�2,⋯��a1,a2,⋯an 。
输出格式
输出一个整数 �S,表示所求的和。请使用合适的数据类型进行运算。
输入输出样例
输入 #1
4 1 3 6 9
输出 #1
117
代码如下:
#include<cstdio>
long long n,a[200005]={},s=0;
int main(){
scanf("%lld %lld",&n,&a[1]);
long long s1=a[1];
for(int i=2;i<=n;i++){
scanf("%lld",&a[i]);
s=s+a[i]*s1;
s1+=a[i];
}
printf("%lld",s);
}